uva 10004(图)
来源:互联网 发布:淘宝菜单模板如何使用 编辑:程序博客网 时间:2024/05/28 15:21
题解:本来想着用dfs,后来写着写着就成普通的循环了,将起始点0先涂色,然后把和他相邻的其他点涂成另一种颜色,再从下一个点搜索,如果有连线但已经被涂色且和自己颜色一样就可以判断结果是错。
#include <stdio.h>#include <string.h>const int N = 200 + 5;int n, l, G[N][N], vis[N], flag;void init() { memset(G, 0, sizeof(G)); memset(vis, 0, sizeof(vis)); flag = 0;}void dfs(int x) { for (int i = 0; i < n; i++) { if (G[x][i] && vis[i] == 0) { if (vis[x] == 1) vis[i] = 2; else vis[i] = 1; } else if (G[x][i] && vis[i] != 0) { if (vis[i] == vis[x]) { flag = 1; } } }}int main () { int v1, v2; while (scanf("%d", &n) && n) { init(); scanf("%d", &l); for (int i = 0; i < l; i++) { scanf("%d %d", &v1, &v2); G[v1][v2] = G[v2][v1] = 1; } vis[0] = 1; for (int i = 0; i < n; i++) dfs(i); if (flag) printf("NOT BICOLORABLE.\n"); else printf("BICOLORABLE.\n"); } return 0;}
0 0
- uva 10004(图)
- uva 10004
- uva 10004
- UVa 10004
- UVA 10004
- uva 10004
- UVA 10004
- UVa 10004 Bicoloring (DFS&二分图)
- Uva 10004(二分图的判定)
- UVA 10004 Bicoloring(二分图 交叉染色)
- UVa 10004 Bicoloring
- uva 10004 - Bicoloring
- UVa 10004 - Bicoloring
- uva 10004 - Bicoloring
- uva 10004 - Bicoloring
- UVa 10004 - Bicoloring
- uva-10004 - Bicoloring
- UVA 10004 二染色
- C# 中的委托和事件
- 针对函数的多线程inline API HOOK
- LeetCode-Word Break
- 谁陪我到天荒地老
- 捍卫你的梦想
- uva 10004(图)
- XSS攻击与防御(来自cnblog)
- 回首――那些日子,还会重来吗?
- POJ 3735 Training little cats 矩阵快速幂应用
- 新手第一次装hadoop,装了整整两天啊,真心伤不起
- 无题_0
- 暑期个人赛--第七场--B
- jsp基础入门
- JAVA循环一定时间后退出循环的方法