博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
UVa 10004 - Bicoloring
阅读量:6416 次
发布时间:2019-06-23

本文共 1190 字,大约阅读时间需要 3 分钟。

  题目大意:二着色问题:给你一个图,给图中的所有点染色,只有两种颜色可选,使得每条边的两个顶点的颜色不同。二分判定问题,可用DFS或BFS解决。

1 #include 
2 #include
3 #define MAXN 210 4 5 bool G[MAXN][MAXN]; 6 int n, color[MAXN]; 7 8 bool bipartite(int u) 9 {10 for (int i = 0; i < n; i++)11 if (G[u][i])12 {13 int v = i;14 if (color[u] == color[v]) return false;15 if (!color[v])16 {17 color[v] = 3 - color[u];18 if (!bipartite(v)) return false;19 }20 }21 return true;22 }23 24 int main()25 {26 #ifdef LOCAL27 freopen("in", "r", stdin);28 #endif29 while (scanf("%d", &n) && n)30 {31 int k;32 scanf("%d", &k);33 int x, y;34 memset(G, 0, sizeof G);35 for (int i = 0; i < k; i++)36 {37 scanf("%d%d", &x, &y);38 G[x][y] = G[y][x] = 1;39 }40 memset(color, 0, sizeof color);41 color[0] = 1;42 if (bipartite(0)) printf("BICOLORABLE.\n");43 else printf("NOT BICOLORABLE.\n");44 }45 return 0;46 }
View Code

 

转载于:https://www.cnblogs.com/xiaobaibuhei/p/3324119.html

你可能感兴趣的文章
小学生学“数学”
查看>>
Dubbo下一站:Apache顶级项目
查看>>
数据库实验3 数据定义语言DDL
查看>>
【Vue】组件使用之参数校验
查看>>
FastDFS蛋疼的集群和负载均衡(十七)之解决LVS+Keepalived遇到的问题
查看>>
深入剖析Redis系列(二) - Redis哨兵模式与高可用集群
查看>>
上班第一天的BUG居然是chrome翻译功能导致的
查看>>
Android 用于校验集合参数的小封装
查看>>
iOS混合开发库(GICXMLLayout)七、JavaScript篇
查看>>
instrument 调试 无法指出问题代码 解决
查看>>
继续聊聊MVVM和组件化
查看>>
理解缓存
查看>>
im也去中心化?Startalk(星语)的去中心化设计之路
查看>>
SpringBoot 实战 (六) | 用 JdbcTemplates 访问 Mysql
查看>>
BAT 经典算法笔试题 —— 磁盘多路归并排序
查看>>
实战项目积累
查看>>
一次完整的HTTP请求
查看>>
Swift 4 前后 KVO 的变化
查看>>
windows部署mongodb
查看>>
几道高级前端面试题解析
查看>>