杭电oj--2063
来源:互联网 发布:简历java电商项目经验 编辑:程序博客网 时间:2024/06/06 19:05
过山车
Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 23819 Accepted Submission(s): 10379
Problem Description
RPG girls今天和大家一起去游乐场玩,终于可以坐上梦寐以求的过山车了。可是,过山车的每一排只有两个座位,而且还有条不成文的规矩,就是每个女生必须找个个男生做partner和她同坐。但是,每个女孩都有各自的想法,举个例子把,Rabbit只愿意和XHD或PQK做partner,Grass只愿意和linle或LL做partner,PrincessSnow愿意和水域浪子或伪酷儿做partner。考虑到经费问题,boss刘决定只让找到partner的人去坐过山车,其他的人,嘿嘿,就站在下面看着吧。聪明的Acmer,你可以帮忙算算最多有多少对组合可以坐上过山车吗?
Input
输入数据的第一行是三个整数K , M , N,分别表示可能的组合数目,女生的人数,男生的人数。0
#include<cstdio>#include<cstring> int k,m,n;int fri[505][505];int f[505]; //女和哪个男配对 int vis[505]; //标记女生是否被搜索过 int find(int x){ for(int i=1; i<=m; i++) { if( vis[i]==0 && fri[x][i]==1) { vis[i]=1; if(f[i]==0) { f[i]=x; return 1; } else if( find(f[i])==1 ) { f[i]=x; return 1; } } } return 0;}int main(){ while( ~scanf("%d",&k), k ) { memset(f,0,sizeof(f)); memset(fri,0,sizeof(fri)); scanf("%d%d",&n,&m); for(int i=1; i<=k; i++) { int x,y; scanf("%d%d",&x,&y); fri[x][y]=1; } int ans=0; for(int i=1; i<=n; i++) { memset(vis,0,sizeof(vis)); if(find(i)==1) ans++; } printf ("%d\n",ans); } return 0;}
阅读全文
0 0
- 杭电oj--2063
- 杭电oj分类
- 杭电oj
- 杭电OJ 2054
- 杭电OJ 1028
- 杭电 oj 1001
- 杭电OJ Elevator
- 杭电oj 1009
- 杭电oj-1003
- 杭电oj-1004
- 杭电oj-1005
- 饭卡 杭电oj
- 杭电OJ分类
- 杭电OJ 1002
- 杭电OJ 1001
- 杭电OJ 1003
- 杭电OJ 1004
- 杭电OJ:1018
- JVM—垃圾回收机制
- 计算任意多边形的面积
- 图像处理复习(三):特征点的搜索匹配和筛选
- 链家笔试题
- 面试中的高频特色算法题(持续更新中)
- 杭电oj--2063
- Jmeter之后置处理器BeanShell PostProcessor与二进制响应
- MySQL_外键约束
- 快速幂
- c++ primer plus 第九章答案
- pow函数的用法
- 快速幂乘法,乘方
- Java提高篇——JVM加载class文件的原理机制
- CSS3进阶:深入理解浮动