UVA 193 图着色
来源:互联网 发布:mac 多个全屏切换 编辑:程序博客网 时间:2024/05/05 02:40
深度优先搜索回溯法,数据量不算很大,可以采用暴力解决
剪枝:1.如果当前结点相邻结点为黑色,则必为白色,否则先黑色再回溯白色
2.如果当前结点数目最终理想值比已有结点数目少,则不必继续搜索
图搜索不一定要相邻结点依次进行
#include <iostream>#include <sstream>#include <cstdio>#include <cstring>#include <cmath>#include <string>#include <vector>#include <set>#include <cctype>#include <algorithm>#include <cmath>#include <deque>#include <queue>#include <map>#include <stack>#include <list>#include <iomanip>using namespace std;///#define INF 0xffffff7#define maxn 110///int m;int n, k;int graph[110][110];int color[110];bool vis[110][110];int blackNodes;int maxblackNodes;int ans[110];void dfs(int cur, int blacks)//当前搜索到的结点个数,已经计算出的黑色结点个数,根据周边结点判定当前结点颜色{int i, j;if (cur > n){if (blacks > maxblackNodes){maxblackNodes = blacks;for (i = 0; i <= n; i++)ans[i] = color[i];}return;}bool flag = true;for (i = 0; i <= n; i++){if (graph[cur][i] == 1 && color[i] == 1){flag = false;break;}}if (blacks + n - cur + 1 <= maxblackNodes)return;if (flag){color[cur] = 1;dfs(cur + 1, blacks + 1);color[cur] = 0;}dfs(cur + 1, blacks);}int main(){///int i, j;cin >> m;while (m--){memset(graph, 0, sizeof(graph));memset(color, 0, sizeof(color));memset(ans, 0, sizeof(ans));maxblackNodes = 0;cin >> n >> k;for (i = 0; i < k; i++){int iEdge, oEdge;cin >> iEdge >> oEdge;graph[iEdge][oEdge] = graph[oEdge][iEdge] = 1;}dfs(1, 0);cout << maxblackNodes << endl;bool first = true;for (i = 0; i <= n; i++){if (ans[i] == 1){if (first)first = false;elsecout << " ";cout << i;}}cout << endl;} /// return 0;}
- UVA 193 图着色
- UVa 193 图着色
- 193UVA图着色
- poj 1419 Graph Coloring uva 193 - Graph Coloring (图着色问题,dfs)
- UVA 253 立方体着色
- uva 10004 双着色
- UVa 253 立方体着色
- UVa 253 立方体着色
- (intermediate) 二分图(边着色) UVA 10615 Rooks
- UVA - 10004 - Bicoloring (简单图论-着色判断)
- 图着色
- 图着色
- 图着色
- 图着色
- UVA - 1364(无向图的bcc以及对bcc二分着色)
- UVa Problem 10004 Bicoloring (双着色)
- m图着色问题
- 图的m着色
- java 堆和栈小结
- boost 1.36 VC2008 编译:
- Isolating Linux High System Load
- linux内核之------磁盘分区的检测add_partition ----- check_partition
- 使用CoreText排版,取得文字区域精确大小
- UVA 193 图着色
- Android onTouchEvent, onClick及onLongClick的调用机制
- O7_DICTIONARY_ACCESSIBILITY参数
- Eclipse Plugin 获取图片资源返回空指针异常错误的解决办法。
- Adobe公司Flash动画控件开发引起的问题
- 【无限互联】iOS开发视频教程—2.1 iPhone开发之开发工具安装及介绍
- .NET笔试题集(四)
- sql2008疑难问题解决
- 批量处理(增删改)