提交时间:2023-02-03 17:28:48

运行 ID: 68274

#include<bits/stdc++.h> using namespace std; int p[1100]; int find(int x){ if(p[x]!=x) p[x]=find(p[x]); return p[x]; } int main(){ int n,m; while(cin>>n>>m,n||m){ int flag=0,cnt=0; memset(p,-1,sizeof p); for(int i=1;i<=n;i++) p[i]=1; while(m--){ int a,b; cin>>a>>b; int pa=find(a),pb=find(b); if(pa!=pb) p[pb]=pa; else flag=1; } for(int i=1;i<=n;i++){ if(p[i]==i) cnt++; } if(flag||cnt>1) cout<<"No"<<endl; else cout<<"Yes"<<endl; } return 0; }