这代码都可以A????
随便一组数据就hack了啊
/*
4 5
1 2
2 3
3 4
4 5
1 4
*/
4 5
1 2
2 3
3 4
4 5
1 4
*/
代码链接:https://www.nowcoder.com/acm/contest/view-submission?submissionId=36679267
#include <bits/stdc++.h> using namespace std; typedef long long ll; const int maxn = 2e5+7; int p[maxn],s[maxn],ans; void init(){ memset(s,1,sizeof(s)); for(int i=0;i<maxn;i++) p[i] = i; } int Find(int x){ return x==p[x] ? x: p[x] = Find(p[x]); } void Merge(int x,int y){ x = Find(x),y = Find(y); if(x!=y){ p[x] = y; s[y] += s[x]; }else{ if(s[x]%2) ans = 3; //黑人问号??? } } int main(){ init(); int n,m,x,y; scanf("%d%d",&n,&m); ans = 2; for(int i=0;i<m;i++){ scanf("%d%d",&x,&y); Merge(x,y); } if(n==1)ans = 1; printf("%d\n",ans);return 0; }
全部评论
(0) 回帖