Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
68259 | 董承诺 | 通信系统 | C++ | 通过 | 100 | 142 MS | 288 KB | 473 | 2023-02-03 17:00:11 |
#include<bits/stdc++.h> using namespace std; int a[1100],b,c; int find(int d){ if(a[d]!=d) a[d]=find(a[d]); return a[d]; } int main(){ while(cin>>b>>c,b||c){ memset(a,-1,sizeof a); int f=0,g=0; for(int i=1;i<=b;i++) a[i]=i; while(c--){ int h,k; cin>>h>>k; int l=find(h),c=find(k); if(l!=c) a[l]=c; else f=1; } for(int i=1;i<=b;i++) if(a[i]==i) g++; cout<<(f==0&&g==1?"Yes":"No")<<endl; } return 0; }