Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
68296 张志鹏 通信系统 C++ 通过 100 141 MS 264 KB 675 2023-02-04 13:36:43

Tests(1/1):


#include<bits/stdc++.h> using namespace std; int n,m,flag; int p[1001],cnt[1001]; int init(int x){ p[x]=x,cnt[x]=0; } int find(int x){ if(p[x]==x) return x; else return find(p[x]); } int merge(int a,int b){ p[b]=a; } int main(){ while(1>0){ flag=0; cin>>n>>m; if(n==0&&m==0) break; for(int i=1;i<=n;i++) init(i); for(int i=1;i<=m;i++){ int a,b; cin>>a>>b; int a1=find(a); int b1=find(b); if(a1!=b1) merge(a1,b1); } for(int i=1;i<=n;i++) cnt[find(i)]++; for(int i=1;i<=n;i++) if(cnt[i]) flag++; if(flag==1&&m==n-1) cout<<"Yes"; else cout<<"No"; cout<<endl; } return 0; } //真服了 没小写 WC


测评信息: