九度教程第69题
C语言源码:
[cpp]
#include<stdio.h>
#define maxsize 1010
int Tree[maxsize];
int findroot(int x)
{
int temp;
if(Tree[x]==-1)
return x;
else
{
temp=findroot(Tree[x]);
Tree[x]=temp;
return temp;
}
}
int main()
{
int t,n,m,a,b,i,num;
while(scanf("%d",&t)!=EOF)
{
while(t--)
{
scanf("%d %d",&n,&m);
for(i=0;i<n;i++)
Tree[i]=-1;
while(m--)
{
scanf("%d %d",&a,&b);
a--;
b--;
a=findroot(a);
b=findroot(b);
if(a!=b)
Tree[b]=a;
} www.zzzyk.com
num=0;
for(i=0;i<n;i++)
if(Tree[i]==-1)
num++;
printf("%d\n",num);
}
}
}
补充:软件开发 , C++ ,