Run ID | Author | Problem | Lang | Verdict | Score | Time | Memory | Code Length | Submit Time |
---|---|---|---|---|---|---|---|---|---|
68197 | 桑迪 | 通信系统 | C++ | Wrong Answer | 0 | 147 MS | 256 KB | 507 | 2023-02-02 17:28:53 |
#include<bits/stdc++.h> using namespace std; int n,m,p[1010],a,b; bool flag; int find(int x){ if(p[x]!=x) return p[x]=find(p[x]); return p[x]; } void merge(int a,int b){ int fa=find(a),fb=find(b); if(fa!=fb) p[fb]=fa; } int main(){ while(cin>>n>>m,n+m){ flag=1; for(int i=1;i<=n;i++) p[i]=i; while(m--){ cin>>a>>b; merge(a,b); } for(int i=1;i<=n;i++)find(i); for(int i=1;i<n;i++)if(p[i]-p[i+1]){flag=0;break;} cout<<(flag?"Yes":"No"); } return 0; }