HDU 2063 过山车(匈牙利算法)
来源:互联网 发布:烧it 编辑:程序博客网 时间:2024/05/21 10:07
题意:男生女生一起坐过山车,每一排有两个座位,但是有个条件,就是每个女生必须找个男生做同伴一起(但是女生只愿意和某几个男生中的一个做同伴),求最多可以有多少对男女生组合坐上过山车。
思路:匈牙利算法
代码:
#include<iostream>#include<cstdio>#include<cstring>using namespace std;int m,n;//女,男int map[510][510];int visited[510];//男生已访问?int match[510];//男生已匹配?int dfs(int i){// 查找i女生是否找到男同伴int j;for(j=1;j<=n;j++){//男生循环一遍if(map[i][j]&&!visited[j]){//女对男有好感,且男未访问visited[j]=1;if(!match[j]||dfs(match[j])){//男未匹配,或者已匹配但是能够找到交错路match[j]=i;return 1;}}}return 0;}int main(){int k,ans;//可能组合,最多组合int i;int x,y;while(~scanf("%d",&k)&&k){ans=0;memset(map,0,sizeof(map));memset(match,0,sizeof(match));scanf("%d%d",&m,&n);for(i=0;i<k;i++){scanf("%d%d",&x,&y);map[x][y]=1;}for(i=1;i<=m;i++){//女生循环一遍memset(visited,0,sizeof(visited));if(dfs(i)) ans++;}printf("%d\n",ans);}return 0;}
0 0
- HDU 2063 过山车(匈牙利算法模板)
- hdu 2063 过山车(匈牙利算法)
- HDU 2063 过山车(匈牙利算法)
- hdu 2063 过山车(匈牙利算法)
- 匈牙利算法 hdu 2063(过山车)
- 【hdu 2063】过山车(匈牙利算法)
- HDU 2063 过山车(匈牙利算法)
- hdu-2063-过山车(匈牙利算法)
- HDU 2063 过山车 匈牙利算法
- HDU 2063 过山车(匈牙利算法)
- hdu 过山车(匈牙利算法)
- HDU 2063 -- 过山车(匈牙利)
- HDU 2063 过山车 算法学习:匈牙利算法
- hdu 题目2063 过山车(二分图匹配,匈牙利算法)
- HDU 2063:过山车(二分匹配,匈牙利算法)
- [ACM] HDU 2063 过山车 (二分图,匈牙利算法)
- hdu 2063 过山车 二分匹配(匈牙利算法)
- HDU 2063 过山车(二分图匹配 匈牙利算法)
- Oracle 写脏数据的不同场景
- 利用aop 完成系统日志功能
- protected
- listview加载性能优化ViewHolder
- 23讲 动态网页技术介绍 PHP基本介绍
- HDU 2063 过山车(匈牙利算法)
- 单线程模型中Message、Handler、Message Queue、Looper之间的关系
- 初学之安卓的两种activity间传递数据的方法
- Kafka+Storm+HDFS整合实践
- Linux下常用文件解压
- phonegap/cordova常用命令
- JCK Editor 结合jQuery Upload File 增加图片批量上传功能
- dedecms 简略标题调用
- Java面试题(一)