ural 1080. Map Coloring
2011-05-12 23:47
344 查看
图的染色问题,类似二分图的染色问题。其实这题就是问你能不能类似二分图一样把图染成两个颜色,而且相邻顶点颜色不一样。
直接DFS。。。没啥好说的。如果遇到不合适的,输出-1.
直接DFS。。。没啥好说的。如果遇到不合适的,输出-1.
#include <stdio.h> #include <stdlib.h> #include <iostream> using namespace std; const int MAX = 110; int n; bool map[MAX][MAX]; int c[MAX]; bool used[MAX]; bool flag; void DFS(int x) { used[x] = 1; for(int i=1; i<=n; i++) { if( x == i ) continue; if( map[x][i] && c[i] && c[i] + c[x] != 0 ) { flag = true; return; } if( map[x][i] && !c[i] && !used[i] ) { if( c[x] == 1 ) c[i] = -1; else c[i] = 1; DFS(i); if( flag ) return ; } } } int main() { int t; memset(c,0,sizeof(c)); memset(map,false,sizeof(map)); scanf("%d",&n); for(int i=1; i<=n; i++) while( scanf("%d",&t) && t ) map[i][t] = map[t][i] = 1; flag = 0; for(int i=1; i<=n && !flag; i++) { if( !used[i] ) c[i] = 1; DFS(i); } if( flag ) printf("-1/n"); else { for(int i=1; i<=n; i++) if( c[i] == 1 ) printf("0"); else printf("1"); printf("/n"); } return 0; }
相关文章推荐
- URAL 1646 Godzilla Strikes Back!
- Ural 1073 Square Country (DP)
- Ural1078(经典dp)
- URAL 1297 Palindrome (最长回文子串)
- Ural 1081 Binary Lexicographic Sequence(DP)
- ural 1167. Bicolored Horses(dp)
- URAL 1141. RSA Attack(欧拉定理+扩展欧几里得+快速幂模)
- URAL 1486(二维字符串hash)
- NENU ACM 13级训练赛 2014-11-29(Ural Regional School Programming Contest 2014)
- ural 1353. Milliard Vasya's Function
- Ural 1149. Sinus Dances
- URAL 1084 || Goat in the Garden(同中心矩形与圆的公共面积
- URAL - 1145 Rope in the Labyrinth
- ural 2003. Simple Magic 数论 因数分解
- 【Ural】【1519】Formula 1
- URAL 1924 Four Imps (博弈论 + 规律)
- URAL 1295 Crazy Notions 数学 找规律
- URAL 1721. Two Sides of the Same Coin 二分匹配 构图
- URAL 1762 Search for a Hiding-Place(数学·模拟)
- URAL 1040 Airline Company 构造,思路 难度:2