hdu 3118 Arbiter(枚举构造二分图)
2015-07-24 21:09
399 查看
//hdu3118 枚举 //实际上是在图中最少减去多少边令图上没有奇数环,实际上就是二分图 //利用二进制枚举,0、1表示两个集合。 //对于每种染色状态,枚举边,冲突则删掉。 #include<cstdio> #include<cstring> #include<iostream> using namespace::std; const int INF=0x7fffffff; const int N=20,M=500; int g ; struct Edge{ int u,v; }edge[M]; int main(){ int T; int n,m,u,v; scanf("%d",&T); while(T--){ memset(g,0,sizeof(g)); scanf("%d%d",&n,&m); for(int i=0;i<m;i++){ scanf("%d%d",&edge[i].u,&edge[i].v); } int res=INF; for(int i=0;i<(1<<n);i++) { int sum=0; for(int j=0;j<m;j++){ u=edge[j].u;v=edge[j].v; if(((i>>u)&1)==((i>>v)&1))sum++; } if(res>sum)res=sum; } printf("%d\n",res); } return 0; }
相关文章推荐
- C++之贪吃蛇
- 2015 HUAS Summer Training#2 E
- netBeans调试时不进入java内部类(jdk源码)的方法
- 没有任何关闭socket的日志,客户端和服务端进程都在, 网络连接完好, 为什么进行某操作后好好的tcp连接莫名其妙地断了呢?
- java.util.Random.nextInt(int n)方法实例
- tarjan求割顶和桥 hihoCoder1183 连通性一·割边与割点
- jQuery基础整理+实例
- 构建自己的AngularJS
- Linux 多学习过程
- Matlab编程知识点
- 计算两个日期间的天数
- MyEclipse常见错误汇总,中英注释版(长期更新)
- mongodb使用-增删改查、colleciton关联、_id作为主键实现update
- nyoj 915 + - 字符串 (递归)
- hdoj1002A + B Problem II
- 来京学习第11天
- 南阳 oj 语言入门 a letter and a number
- 背包模板
- 云计算和大数据时代网络技术揭秘(十五)大数据网络
- 如何让CI框架支持service层