Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
68198 桑迪 通信系统 C++ 解答错误 0 146 MS 252 KB 513 2023-02-02 17:29:43

Tests(0/1):


#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")<<"\n"; } return 0; }


测评信息: