UVA 193 Graph Coloring
来源:互联网 发布:大学生简历 知乎 编辑:程序博客网 时间:2024/04/28 01:55
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;}
0 0
- uva 193 - Graph Coloring
- UVa 193 - Graph Coloring
- uva 193 - Graph Coloring
- UVa 193 - Graph Coloring
- uva 193 - Graph Coloring
- UVa 193 - Graph Coloring
- UVA 193 Graph Coloring
- uva 193 Graph Coloring
- uva 193 Graph Coloring
- UVa:193 Graph Coloring
- UVa 193 - Graph Coloring
- UVA 193 - Graph Coloring
- UVA - 193 Graph Coloring
- UVA - 193 Graph Coloring
- uva 193 Graph Coloring
- UVA 193 Graph Coloring
- uva 193 Graph Coloring
- UVA 193 Graph Coloring
- File Explorer&DDMS&ADB
- CSU - 1753 野心
- 无线通讯网
- ListView概述
- Ecplise无法编译Servlet的问题
- UVA 193 Graph Coloring
- Linux常用命令
- Linux学习第三天-文本管理和bash特性
- Excel插入斜线表头
- Android GridView属性集合
- 假期集训总结
- python核心编程学习笔记-2016-08-27-01-多线程编程
- [{(三种括号匹配
- LeetCode: Largest Rectangle in Histogram