Sample Output
2 0
#include <iostream>
#include"cstdio"
#include"cstring"
#include"cstdlib"
using namespace std;
int bin[100050];
int m,n;
int findx(int x)
{
if(bin[x]!=x)
bin[x]=findx(bin[x]);
return bin[x];
}
void Merge (int x,int y)
{
int fx=findx(x);
int fy=findx(y);
if(fx!=fy)
bin[fx]=fy;
}
int main()
{
while(~scanf("%d%d",&m,&n))
{memset(bin,'\0',sizeof(bin));
for(int i=0;i<m;i++)
bin[i]=i;
for(int i=0;i<n;i++)
{
int x,y;
scanf("%d%d",&x,&y);
Merge(x,y);
}
int cou=0,i;
for(i=1;i<m;i++)
if(findx(i)==findx(0))
cou++;
printf("%d\n",cou);
}
return 0;
}
492

被折叠的 条评论
为什么被折叠?



