HDU2063--二分图最大分配
2013-02-01 13:42
204 查看
Description
RPG girls今天和大家一起去游乐场玩,终于可以坐上梦寐以求的过山车了。可是,过山车的每一排只有两个座位,而且还有条不成文的规矩,就是每个女生必须找个个男生做partner和她同坐。但是,每个女孩都有各自的想法,举个例子把,Rabbit只愿意和XHD或PQK做partner,Grass只愿意和linle或LL做partner,PrincessSnow愿意和水域浪子或伪酷儿做partner。考虑到经费问题,boss刘决定只让找到partner的人去坐过山车,其他的人,嘿嘿,就站在下面看着吧。聪明的Acmer,你可以帮忙算算最多有多少对组合可以坐上过山车吗?
Input
输入数据的第一行是三个整数K , M , N,分别表示可能的组合数目,女生的人数,男生的人数。0<K<=1000
1<=N 和M<=500.接下来的K行,每行有两个数,分别表示女生Ai愿意和男生Bj做partner。最后一个0结束输入。
Output
对于每组数据,输出一个整数,表示可以坐上过山车的最多组合数。
Sample Input
6 3 3
1 1
1 2
1 3
2 1
2 3
3 1
0
Sample Output
3
RPG girls今天和大家一起去游乐场玩,终于可以坐上梦寐以求的过山车了。可是,过山车的每一排只有两个座位,而且还有条不成文的规矩,就是每个女生必须找个个男生做partner和她同坐。但是,每个女孩都有各自的想法,举个例子把,Rabbit只愿意和XHD或PQK做partner,Grass只愿意和linle或LL做partner,PrincessSnow愿意和水域浪子或伪酷儿做partner。考虑到经费问题,boss刘决定只让找到partner的人去坐过山车,其他的人,嘿嘿,就站在下面看着吧。聪明的Acmer,你可以帮忙算算最多有多少对组合可以坐上过山车吗?
Input
输入数据的第一行是三个整数K , M , N,分别表示可能的组合数目,女生的人数,男生的人数。0<K<=1000
1<=N 和M<=500.接下来的K行,每行有两个数,分别表示女生Ai愿意和男生Bj做partner。最后一个0结束输入。
Output
对于每组数据,输出一个整数,表示可以坐上过山车的最多组合数。
Sample Input
6 3 3
1 1
1 2
1 3
2 1
2 3
3 1
0
Sample Output
3
#include <iostream> using namespace std; #define maxn 508 bool map[maxn][maxn]; int marry[maxn]; bool val[maxn]; int k,n,m; bool dfs(int u) { for(int i=1;i<=m;i++) { if(map[u][i]&&!val[i]) { val[i]=1; if(!marry[i]||dfs(marry[i])) { marry[i]=u; return 1; } } } return 0; } int main() { int u,v; while(cin>>k&&k) { cin>>n>>m; int count=0; memset(map,0,sizeof(map)); memset(marry,0,sizeof(marry)); for(int i=1;i<=k;i++) { cin>>u>>v; map[u][v]=1; } for(int i=1;i<=n;i++)//二分匹配我刚开始看网上的资料怎么也看不懂, {//其实只要明白这里就行了,给每个女人找男人,但是如果给某个女人找到的男人 //刚好是别的女人的男人,那就看看别的女人能不能换个男人 memset(val,0,sizeof(val)); if(dfs(i)) { count++; } } cout<<count<<endl; } return 0; }
相关文章推荐
- hdu2063(二分图的最大匹配)
- hdu2063 二分图最大匹配
- HDU2063_过山车(二分图/最大匹配)
- hdu2063(二分图的最大匹配)
- hdu2063(二分图最大匹配)
- 【HDU2063】过山车(二分图最大匹配,匈牙利算法)
- 图论算法(六)-- 二分图的最大分配问题(JAVA)
- 【二分图最大匹配】【HDU2063】过山车
- 二分图最大匹配-增广路-hdu2063-过山车
- Asteroids(二分图的最大分配)
- 【二分图最大匹配】【HDU2063】过山车
- hdu2063 过山车 二分图最大匹配 匈牙利算法
- HDU2063二分图最大匹配
- HDU2063 过山车(二分图最大匹配)
- hdu2063 过山车(二分图最大匹配基础)
- hdu2063 过山车 二分图/最大匹配(匈牙利算法)
- HDU2063(二分图最大匹配)
- 最大匹配 人员分配 二分图样板
- HDU2063 过山车 【二分图·最大匹配】
- 线性规划与网络流24题之分配问题 最大费用最大流、最小费用最大流、二分图的最佳匹配