#include<iostream>
#include<cstdio>
using namespace std;
int f[50005];
int sum;
int getfri(int num)
{
if(f[num]==num)return num;
else return f[num]=getfri(f[num]);
}
void judge(int a,int b)
{
int t1=getfri(a);
int t2=getfri(b);
f[t1]=t2;
}
main()
{
int i;
int m,n;
while(cin>>m>>n)
{
sum=0;
for(i=0;i<=m;i++)
f[i]=i;
int a,b;
while(n--)
{
cin>>a>>b;
judge(a,b);
}
for(i=0;i<m;i++)
{
// cout<<getfri(i)<<endl;
if(getfri(i)==0)sum++;
}
cout<<sum<<endl;
}
return 0;
}
更新的时候无需大的跟随小的什么的
查并集(优化版)
猜你喜欢
转载自blog.csdn.net/qq_41548233/article/details/79247617
今日推荐
周排行