prison
来源:互联网 发布:yum 安装jdk 编辑:程序博客网 时间:2024/06/05 18:46
这个可以状态压缩,用二进制表示,每一位表示第几个选不选
然后就枚举两个子集,合并找最小的组数
#include<iostream>#include<queue>#include<cstdio>#include<algorithm>#include<cstring>using namespace std;const int N= 1<<17;int n,m,k,f[N];bool map[20][20];int tot;int main(){ scanf("%d%d%d",&n,&m,&k); for(int i=1,x,y;i<=m;i++) { scanf("%d%d",&x,&y); --x,--y; map[x][y]=map[y][x]=1; } memset(f,127,sizeof(f)); for(int i=0;i<(1<<n);i++) { tot=0; for(int j=0;j<n;j++) for(int kk=j;kk<n;kk++) if(map[j][kk]&&((1<<j)&i)&&((1<<kk)&i)) tot++; if(tot<=k) f[i]=1; for(int j=i;j;j=(j-1)&i) f[i]=min(f[i],f[j]+f[i^j]); } cout<<f[(1<<n)-1]; return 0;}
阅读全文
0 0
- prison
- Prison Break
- 《Prison Break》
- Prison Break
- Prison Break
- Prison Break
- Prison break
- Prison Break
- Prison Break
- Ending Prison Break(越狱)
- Prison Break中的经典台词
- Prison.Break.Season2.EP14
- pku1636 Prison rearrangement
- 2010提高组prison
- hdu 3511 Prison Break
- POJ 1636 Prison rearrangement
- poj 1636 Prison rearrangement
- hdoj 3681 Prison Break
- Qt常用类QPoint
- 数据结构Java实现03----单向链表的插入和删除
- CSS写作建议和性能优化总结
- 我是最菜的
- LeetCode: Longest Common Prefix
- prison
- HDU 4474 同余模定理+BFS
- Qt常用类QString
- 基于格网的污染物空间分配方法(点值分配到面)
- 创建线程的三种方法
- 回形遍历
- 面向接口编程之二
- 挑战程序设计竞赛 算法和数据结构 第15章 高等图算法
- 数据结构Java实现04----循环链表、仿真链表