提交时间:2023-02-03 15:44:57

运行 ID: 68235

#include<bits/stdc++.h> using namespace std; int n,m; int p[10010]; int head(int a){ while(p[a]!=a){ a=p[a]; } return a; } int main(){ while(true){ cin>>n>>m; if(n==m&&n==0) break; int ans=0; for(int i=1;i<=n;i++) p[i]=i; for(int i=1;i<=m;i++){ int a,b; cin>>a>>b; if(head[a]==head[b]){ ans=1; }else{ p[head(b)]=head(a); } } for(int i=1;i<=n;i++){ for(int j=1;j<=n;j++){ if(head(i)!=head(j)) ans=1; } } if(ans==1) cout<<"No"; else cout<<"Yes"; } return 0; }