HIHO #1121 : 二分图一•二分图判定
2016-08-17 19:34
423 查看
题目链接
图可能是非连通的,计算每一个子图是不是都是满足二分图的性质
图可能是非连通的,计算每一个子图是不是都是满足二分图的性质
#include<bits/stdc++.h> using namespace std; #define cl(a,b) memset(a,b,sizeof(a)) #define LL long long #define pb push_back #define gcd __gcd #define For(i,j,k) for(int i=(j);i<k;i++) #define lowbit(i) (i&(-i)) #define _(x) printf("%d\n",x) const int maxn = 1e6+10; const int inf = 1 << 28; vector<int> G[maxn]; int color[maxn]; void init(){ for(int i=0;i<maxn;i++){ G[i].clear(); color[i]=0; } } bool dfs(int u){ for(int i=0;i<G[u].size();i++){ int v = G[u][i]; if(color[v]==color[u])return false; if(!color[v]){ color[v] = 3 - color[u]; if(!dfs(v))return false; } } return true; } bool work(int n){ for(int i=1;i<=n;i++){ if(color[i]==0){ color[i]=1; if(!dfs(i))return false; } } return true; } int main(){ int T;scanf("%d",&T); while(T--){ int n,m; scanf("%d%d",&n,&m); init(); for(int i=0;i<m;i++){ int x,y;scanf("%d%d",&x,&y); G[x].pb(y); G[y].pb(x); } printf("%s\n",work(n)?"Correct":"Wrong"); } return 0; }
相关文章推荐
- [HihoCoder]#1121 : 二分图一•二分图判定
- HihoCoder 1121 二分图一•二分图判定
- #1121 : 二分图一•二分图判定
- hihocoder 1121 : 二分图一•二分图判定
- 1121 : 二分图一•二分图判定
- hihoCoder #1121 : 二分图一•二分图判定
- hihoCoder#1121 二分图一•二分图判定
- #1121 : 二分图一•二分图判定
- #1121 : 二分图一•二分图判定 (HIHOCoder +二分图的判定)
- hihoCoder #1121 : 二分图一•二分图判定
- hihocoder #1121 : 二分图一•二分图判定 并不能AC 孤立点问题?
- hihoCoder#1121 : 二分图一•二分图判定
- hihoCoder 1121 二分图一•二分图判定
- hihocoder #1121 : 二分图一•二分图判定
- 二分图一•二分图判定+异或运算
- 二分图判定 水题 Hihocoder 1121
- hihocoder 第三十三周 二分图一•二分图判定
- hihoCoder - 1121 - 二分图判定
- hihoCoder 1121 二分图判定
- 二分图的判定hihocoder1121 and hdu3478