博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
POJ 1419 Graph Coloring【最大团】
阅读量:6323 次
发布时间:2019-06-22

本文共 1069 字,大约阅读时间需要 3 分钟。

题意:给图按黑白着色,求一种着色方案使得图中着黑色的顶点数最多且这些顶点相互之间都不相邻.

分析: 求出补图的最大团即为答案。

#include
#include
#define clr(x)memset(x,0,sizeof(x))#define maxn 111int g[maxn][maxn];int res[maxn];int s[maxn];int sum;int n,m,sn,ans;void dfs(int r){ int i,j; if(r>n) { for(i=1;i<=n;i++) res[i]=s[i]; ans=sn; return; } bool flag=true; for(i=1;i
ans) { s[r]=0; dfs(r+1); }}int main(){ int t,i,j,a,b; scanf("%d",&t); while(t--) { scanf("%d%d",&n,&m); clr(g); while(m--) { scanf("%d%d",&a,&b); g[a][b]=g[b][a]=1; } for(i=1;i<=n;i++) for(j=1;j<=n;j++) if(i!=j) g[i][j]=!g[i][j]; sn=ans=0; clr(s); clr(res); dfs(1); printf("%d\n",ans); for(i=1;i<=n;i++) if(res[i]) printf("%d ",i); printf("\n"); } return 0;}

 

转载于:https://www.cnblogs.com/dream-wind/archive/2012/08/30/2664678.html

你可能感兴趣的文章
Mui picker 的 Bug
查看>>
加拿大程序员趣闻系列 3/N : 生活篇
查看>>
Git工程实践(一)巧用commit message
查看>>
iOS中如何使用多个Target去管理你的项目环境版本(测试环境与线上环境)
查看>>
Java程序员必看:技术大牛都在用这四个小技巧
查看>>
九、Touchable组件点击事件
查看>>
ArcBlock 合作 | ABT 加入美国数码产业商会
查看>>
Android系统全貌
查看>>
爱因斯坦的思考题Java语言求解
查看>>
Java虚拟机 —— 垃圾回收机制
查看>>
180612-Spring之Yml配置文件加载问题
查看>>
【译】十五分钟,学习 Webpack
查看>>
scrapy进阶开发(一):scrapy架构源码分析
查看>>
iOS入门常见错误
查看>>
React全家桶构建一款Web音乐App实战(二):字体图标制作及页面路由搭建
查看>>
Deep learning学习记录(课程2)
查看>>
web页面兼容性问题记录
查看>>
如何优雅地使用 macOS
查看>>
【TopRightMenu】一步搞定手机QQ界面右上角弹出菜单
查看>>
说说 Vue.js 中的 v-show 指令
查看>>