【图染色】POJ 1419 & UVA 193
来源:互联网 发布:服装连锁收款软件 编辑:程序博客网 时间:2024/05/01 16:09
暴力dfs,先假设全部为白色,然后枚举每个点,对每个点dfs乱搞,网上搜了下可以用最大团做,没见过,先放在这里,学会了再做一遍!
#define N 102int color[N];int g[N][N];int maxm,len;int n;int ans[N];int num;void dfs(int u){//0——白色,1——黑色 int i,j; if(u == n+1){//注意处理要完所有点! if(len>maxm){ maxm = len; num = 0; for(i=1;i<=n;i++){ if(color[i])ans[num++] = i; } } return; } for(i=1;i<=n;i++){ if(g[u][i] && color[i])break; } if(i>n){//与该点相邻的点都是白色 color[u] = 1; len++; dfs(u+1); color[u] = 0; len--; } dfs(u+1);}int main(){ int t; scanf("%d",&t); while(t--){ int m; scanf("%d%d",&n,&m); int i,j; memset(g,0,sizeof(g)); memset(color,0,sizeof(color)); while(m--){ int a,b; scanf("%d%d",&a,&b); g[a][b] = g[b][a] = 1; } maxm = 0; len = 0; dfs(1); printf("%d\n",maxm); printf("%d",ans[0]); for(i=1;i<num;i++){ printf(" %d",ans[i]); } puts(""); } return 0;}
- 【图染色】POJ 1419 & UVA 193
- UVA 193 Graph Coloring 图染色 DFS 数据
- uva 193 Graph Coloring( 图染色 ) DFS+回溯
- 二分图+染色 poj 2492
- UVA 10004 Bicoloring(二分图 交叉染色)
- poj 1112 二分图染色+dp
- POJ 1129 图的染色 暴力
- UVA 10004 二染色
- UVa 10004 二染色
- 10004UVa二染色
- uva 10004 Bicoloring (二分图染色/求一个二分图)
- UVA - 11396 Claw Decomposition(二分图染色)
- uva 11080 - Place the Guards(二分图染色)
- UVA-11080 Place the Guards(二分图染色)
- Uva 1627 Team them up!(dp+二分图染色)
- poj 1112 染色+DP
- uva 交叉染色法10004
- UVA Bicoloring (交叉染色)
- Word 中没有出现 Aurora v2.2 的菜单项与工具条的解决办法
- 一个老程序员的建议
- Distributed_QoS_Evaluation_for_Real-World_Web_Services
- 【ORACLE】oracle数据文件损坏,出现错误:ora-01033:oracle initialization or shutdown in progress
- C++new的用法
- 【图染色】POJ 1419 & UVA 193
- 内存管理:new和delete
- 摩托罗拉 Moto XT800的CPU多少?
- POJ 1664 求m个苹果放入n个盘子的不同放法数目 递归 分类讨论
- MFC的消息映射有什么作用
- VirtualBox虚拟机实现桥接方式
- C标准库参考指南系列译文(12)stdio.h(A)
- Android Camera拍照常见问题小结
- 比较决策树和回归