UVA 193 Graph Coloring
2016-08-27 19:19
351 查看
UVA 193 Graph Coloring
题目大意:几个点,连线,给点涂色,相邻俩点不能同时为黑色,白色可以随便图,求出黑色点最多的涂法解题思路:回溯涂色
#include <stdio.h> #include <iostream> #include <string.h> using namespace std; int n, m; int con[110][110]; int col[110]; int col2[110]; int s; void dfs(int a, int b) { if(a > n) { if(b > s) { s = b; int j = 0; for(int i = 0; i <= n; i++) { if(col[i] == 1) col2[j++] = i; } } return; } int g = 0; for(int i = 1; i <= n; i++) { if(con[i][a] == 1 && col[i] == 1) { g = 1; break; } } if(!g) { col[a] = 1; dfs(a+1, b+1); col[a] = 0; } dfs(a+1, b); } int main() { int x; cin >> x; while(x--) { memset(col, 0, sizeof(col)); memset(con, 0, sizeof(con)); s = 0; cin >> n >> m; for(int i = 0; i < m; i++) { int p, q; cin >> p >> q; con[p][q] = 1; con[q][p] = 1; } dfs(1, 0); printf("%d\n", s); for(int i = 0; i < s; i++) { cout << col2[i]; if(i != s - 1) printf(" "); } printf("\n"); } return 0; }
相关文章推荐
- UVa 193 - Graph Coloring
- poj 1419 Graph Coloring uva 193 - Graph Coloring (图着色问题,dfs)
- Uva 193 - Graph Coloring
- uva193 - Graph Coloring
- UVa 193 - Graph Coloring
- uva 193 Graph Coloring
- uva 193 Graph Coloring
- UVA 193 Graph Coloring 图染色 DFS 数据
- UVa 193 & POJ 1419 - Graph Coloring
- [回溯]Graph Coloring UVA193
- uva 193 Graph Coloring(图染色 dfs回溯)
- UVA 193 Graph Coloring 图染色 DFS 数据
- UVa 193 - Graph Coloring
- UVa 193 - Graph Coloring
- UVA 193 Graph Coloring
- uva - 193 Graph Coloring(回溯)
- UVa 193 - Graph Coloring
- uva193 - Graph Coloring
- uva 193 Graph Coloring(回溯)
- UVA - 193 Graph Coloring