求助,MLE (悬赏一关注
  • 板块P1536 村村通
  • 楼主yonghang
  • 当前回复8
  • 已保存回复8
  • 发布时间2023/3/18 21:46
  • 上次更新2023/10/23 21:11:33
查看原帖
求助,MLE (悬赏一关注
934196
yonghang楼主2023/3/18 21:46
#include<bits/stdc++.h>
using namespace std;
int f[10001005],n,m,s;
int findfa(int x)
{
	return f[x]= f[x]==findfa(f[x])?x:findfa(x);
}
int main()
{
	while(scanf("%d",&n)!=EOF)
	{
		s=0;
		if(n==0) break;
		scanf("%d",&m);
		for(int i=1;i<=n;i++) f[i]=i;
		for(int i=1;i<=m;i++)
		{
			int a,b;
			scanf("%d%d",&a,&b);
			f[a]=b;
		}
		for(int i=1;i<=n;i++)
		{
			if(findfa(f[i])==i)//自己等于自己本身,未合并,则不存在路 
			{
				s++;
			}
		}
		printf("%d\n",s-1);
	}
	

}
2023/3/18 21:46
加载中...