求助,MLE
查看原帖
求助,MLE
451850
李逸然123楼主2023/3/2 16:06

代码如下:

#include<bits/stdc++.h>
using namespace std;
int father[5005];
int find(int x)
{
	if(father[x]!=x) father[x]=find(father[x]);
	return x;
}
int main()
{
	int i,j,n,m,x,y,fx,fy,ans=0;
	for(i=1;i<=1005;i++) father[i]=i;
	while(1)
	{
		cin>>n;
		if(n==0) break;
		cin>>m;
		for(i=1;i<=n;i++) father[i]=i;
		for(i=1;i<=m;i++)
		{
			cin>>x>>y;
			fx=find(x);
			fy=find(y);
			father[fx]=fy;
		}
		for(i=1;i<=n;i++)
		{
			if(father[i]==i)
				ans++; 
		}
		cout<<ans-1<<endl;
		ans=0;
	}
	return 0;
}
2023/3/2 16:06
加载中...