九度教程第68题
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 n,m,i,num,b,a;
scanf("%d %d",&n,&m);
while(n!=0||m!=0)
{
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;
}
num=0;
for(i=0;i<n;i++)
if(Tree[i]==-1)
num++;
if(num==1)
printf("YES\n");
else
printf("NO\n");
scanf("%d %d",&n,&m);
}
}
补充:软件开发 , C++ ,