poj 3692 Kindergarten 二分匹配
来源:互联网 发布:军鸽软件 编辑:程序博客网 时间:2024/06/10 09:40
题目链接:poj 3692
有n个害羞的小男孩,m个害羞的小女孩,男孩之间互相认识,女孩之间互相认识,然后给出一系列男女之间的认识关系。现在要从中选出尽量多的人,使得两两之间相互认识,问最多能选出几个人。
二分图求最大团=总的顶点数-补图最大匹配数
匈牙利算法可解,只不过建图跟普通的二分图不同,普通的二分图认识为1,这里不认识为1
#include <cmath>#include <cstdio>#include <cstring>#include <iostream>#include <algorithm>using namespace std;int n,m;#define FFF 205bool ma[FFF][FFF],vis[FFF];int match[FFF];bool dfs(int x){ for(int i=1;i<=m;i++) { if(!vis[i]&&ma[x][i]) { vis[i]=true; if(match[i]==-1||dfs(match[i])) { match[i]=x; return true; } } } return false;}int xiong(){ int ans=0; for(int i=1;i<=n;i++) { memset(vis,false,sizeof(vis)); if(dfs(i)) ans++; } return ans;}int main(){ int z,x,y,Case=1; while(scanf("%d%d%d",&n,&m,&z),n+m+z) { for(int i=1;i<=n;i++) for(int j=1;j<=m;j++) ma[i][j]=true; memset(match,-1,sizeof(match)); while(z--) { scanf("%d%d",&x,&y); ma[x][y]=false; } printf("Case %d: ",Case++); cout<<n+m-xiong()<<endl; } return 0;}
0 0
- poj 3692 Kindergarten 二分匹配
- POJ - 3692 Kindergarten 二分图 最大匹配
- poj 3692Kindergarten(二分匹配模板)
- 【图论】【二分图匹配】[POJ 3692]Kindergarten
- poj 3041Asteroids+3692Kindergarten(二分图匹配+公式补充)
- poj 3692 Kindergarten(二分图匹配,最大独立集)
- poj 3692 Kindergarten(二分匹配,最大独立集)
- poj 3692 Kindergarten(最大团,二分图匹配)
- POJ 3692Kindergarten(二分图最大匹配之最小顶点匹配)
- 【二分匹配】 hdu2458 Kindergarten
- poj 3692 Kindergarten(最大独立点集 + 二分图最大匹配)
- 【二分图+技巧性】北大 poj 3692 Kindergarten
- POJ 3692 Kindergarten (匈牙利 二分图)
- POJ 3692 Kindergarten (二分图 最大团)
- POJ 3692 Kindergarten(二分图)
- 【HDU】2458 Kindergarten 二分匹配
- poj 3692 二分图最大独立集 Kindergarten
- poj 3692 Kindergarten 二分图 最大独立集
- Exponentiation(高精度)
- uva 12563 - Jin Ge Jin Qu hao
- mysql的数据类型
- PHP的POST处理方法汇总
- xen.cfg的写法及附带的一个例子
- poj 3692 Kindergarten 二分匹配
- Codeforces 417D
- hdu 1004 Let the Balloon Rise
- 银行业务调度的理解
- jQuery 学习(四)
- 黑马程序员之集合框架2
- java线程实现方式
- 四、配置与调试
- 后缀数组模板