提交时间:2023-02-03 17:53:32

运行 ID: 68284

#include<bits/stdc++.h> using namespace std; int n,m,p[1010],a,b,f,cnt; int find(int x){ if(p[x]-x) p[x]=find(p[x]); return p[x]; } int main(){ while(cin>>n>>m,n+m){ f=1,cnt=0; for(int i=1;i<=n;i++) p[i]=i; while(m--){ cin>>a>>b; if(find(a)-find(b))p[find(b)]=find(a); else f=0; }for(int i=1;i<=n;i++)cnt+=(p[i]==i); cout<<(f&&!(--cnt)?"Yes":"No")<<"\n"; } return 0; }