Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
68183 张志鹏 通信系统 C++ 解答错误 0 302 MS 260 KB 668 2023-02-02 16:51:02

Tests(0/1):


#include<bits/stdc++.h> using namespace std; int n,m,flag; int p[1001],cnt[1001]; int init(int x){ p[x]=x; } 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=2;i<=n;i++){ int a1=find(1),b1=find(i); p[1]=a1,p[i]=b1; if(a1!=b1) flag=1; else flag=0; } if(flag==1) cout<<"NO"; else cout<<"YES"; cout<<endl; } return 0; }


测评信息: