uva 10004 Bicoloring(判断一个图是否是二分图)
来源:互联网 发布:教师网络学平台登录 编辑:程序博客网 时间:2024/04/29 02:26
BFS与DFS两种实现:(邻接矩阵存图)
#include<cstdio>#include<cstring>#include<iostream>#include<queue>using namespace std;int col[205],n,m;bool map[205][205],flag;bool bfs(int s){ queue<int>q; q.push(s); col[s]=1; int i; while(!q.empty()) { int p=q.front(); q.pop(); for(i=1;i<=n;++i) { if(map[p][i]&&col[i]==-1) { q.push(i); col[i]=!col[p]; } else if(map[p][i]&&col[p]==col[i]) return 0; } } return 1;}int main(){ int i; while(scanf("%d",&n)!=EOF&&n>0) { scanf("%d",&m); memset(map,0,sizeof(map)); memset(col,-1,sizeof(col)); for(i=1;i<=m;++i) { int x,y; scanf("%d %d",&x,&y); map[x][y]=map[y][x]=1; } flag=1; for(i=0;i<n;++i) if(col[i]==-1&&!bfs(i)) { flag=0; break; } if(flag) puts("BICOLORABLE."); else puts("NOT BICOLORABLE."); } return 0;}
#include<iostream>#include<cstdio>#include<cstring>using namespace std;int M[205][205],color[205],n;bool bi(int u){ for(int i=0;i<n;++i){ if(M[u][i]){ if(!color[i]) { color[i]=3-color[u]; if(!bi(i)) return 0; } else if(color[i]==color[u]) return 0; } } return 1;}int main(){ int i,m,x,y; while(~scanf("%d",&n)&&n){ scanf("%d",&m); memset(M,0,sizeof(M)); for(i=0;i<m;++i) { scanf("%d%d",&x,&y); M[x][y]=M[y][x]=1; } memset(color,0,sizeof(color)); bool flag=1; for(i=0;i<n&&flag;++i) if(!color[i]){ color[i]=1; if(!bi(i)) flag=0; } if(flag) puts("BICOLORABLE."); else puts("NOT BICOLORABLE."); } return 0;}
0 0
- uva 10004 Bicoloring(判断一个图是否是二分图)
- uva 10004 Bicoloring (二分图染色/求一个二分图)
- UVa 10004 Bicoloring (DFS&二分图)
- UVA 10004 Bicoloring(二分图 交叉染色)
- UVa 10004 Bicoloring(二分图判定+DFS)
- UVA - 10004 - Bicoloring (简单图论-着色判断)
- UVA 10004判断一个图是否为二分图
- 如何判断一个图是否是二分图
- 判断图是否是二分图
- BFS/DFS 判断是否是二分图
- UVa10004 Bicoloring,二分图判定
- UVa10004 Bicoloring(二分图判定)
- uva10004 Bicoloring 二分图染色
- 判断一个图是否为二分图
- uva 10004 Bicoloring(DFS)
- HDOJ 2444 - The Accomodation of Students 判断一个图是否是二分图.二分图的条件
- 判断一个图是否是连通
- UVA 10004 Bicoloring【DFS简单二部图判定】
- 一个菜鸟程序员的迷茫
- MySQL学习系列11:触发器
- Android Studio 1.1.0 配置androidannotations框架
- brk/sbrk工作原理
- SQLServer只有MDF文件恢复数据库的方法
- uva 10004 Bicoloring(判断一个图是否是二分图)
- 你不是没时间你只是打开方式不对
- CentOS6.4 配置Nload监控网卡流量
- 举例说明一个业务的测试分析的过程思路
- 【Energy Big Data】能源互联网和电力大数据
- 可序列化类的不同版本的序列化兼容性
- SAT数学解题策略详解
- Socket.IO 和 Node.js 入门
- Tomcat启动时加载某个servlet