九度王道考研机试真题 2011-5吉大1109:连通图

来源:互联网 发布:webclient没执行js 编辑:程序博客网 时间:2024/05/16 11:52
//题目1109:连通图
#include<iostream>
using namespace std;
int Tree[1010];
int findRoot(int x)
{
if(Tree[x]==-1) return x;
else
{
int tmp=findRoot(Tree[x]);
Tree[x]=tmp;
return tmp;
}
}
int main()
{
int n,m,x,y;
while(cin>>n&&n!=0)
{
int ans=0;
for(int i=1;i<=1000;i++)  Tree[i]=-1;
  cin>>m;
while(m--)
{
cin>>x>>y;
x=findRoot(x);
y=findRoot(y);
if(x!=y)
{
Tree[x]=y;
}
}
for(int i=1;i<=n;i++)
{
if(Tree[i]==-1) ans++;
}
if(ans==1)
{
cout<<"YES"<<endl;
}
else cout<<"NO"<<endl;
}
}
0 0
原创粉丝点击