HDOJ过山车

过山车

Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)

Total Submission(s): 12778    Accepted Submission(s): 5608

Problem 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

Author

PrincessSnow

#include<cstdio>
#include<cstdlib>
#include<cstring>
using namespace std;
int partner[520][520];
int vis[520],p[520],N,M;
int find(int k){
    for(int i=1;i<=M;++i){
        if(!vis[i]&&partner[k][i]){
            vis[i]=1;
            if(p[i]==0||find(p[i])){
                p[i]=k;return 1;
            }
        }
    }
    return 0;
}
int main()
{
    int k,i,j,a,b;
    while(scanf("%d",&k),k){
        memset(partner,0,sizeof(partner));
        memset(p,0,sizeof(p));
        scanf("%d%d",&N,&M);
        for(i=0;i<k;++i){
            scanf("%d%d",&a,&b);
            partner[a][b]=1;
        }
        int ans=0;
        for(i=1;i<=N;++i){
            memset(vis,0,sizeof(vis));
            if(find(i))ans++;
        }
        printf("%d\n",ans);
    }
    return 0;
}
时间: 2024-10-11 03:42:13

HDOJ过山车的相关文章

【HDOJ 2063】过山车

[HDOJ 2063]过山车 二分图最大匹配模板题 1女对n男 问匹配最大对数 代码如下: #include <iostream> #include <cstdlib> #include <cstdio> #include <cstring> #include <queue> #define INF 0x3f3f3f3f using namespace std; vector <int> head[555]; bool vis[555

hdoj 2063 过山车 【二分匹配之匈牙利算法】

过山车 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 11520    Accepted Submission(s): 5072 Problem Description RPG girls今天和大家一起去游乐场玩,终于可以坐上梦寐以求的过山车了.可是,过山车的每一排只有两个座位,而且还有条不成文的规矩,就是每个女生必须找个个男生做pa

hdoj 2063 过山车 【双边匹配匈牙利算法】

过山车 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 11520    Accepted Submission(s): 5072 Problem Description RPG girls今天和大家一起去游乐场玩.最终能够坐上梦寐以求的过山车了.但是,过山车的每一排仅仅有两个座位,并且还有条不成文的规矩.就是每一个女生必须找个个男生做

hdoj 2063 过山车(二分图匹配之匈牙利算法)

过山车 http://acm.hdu.edu.cn/showproblem.php?pid=2063 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 13019    Accepted Submission(s): 5709 Problem Description RPG girls今天和大家一起去游乐场玩,终于可以坐上梦寐以求的过山车

hdoj 2063 过山车

过山车 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 13476    Accepted Submission(s): 5901 Problem Description RPG girls今天和大家一起去游乐场玩,终于可以坐上梦寐以求的过山车了.可是,过山车的每一排只有两个座位,而且还有条不成文的规矩,就是每个女生必须找个个男生做par

旅游 - 珠海长隆海洋王国 - 鹦鹉过山车

说来惭愧,三十多岁的人从来没坐过过山车.以往没坐过不是因为胆小,只是没有机会,几年前有一次已经把车开到了欢乐谷门口,但硬是被无穷无尽的长队给吓退.难得这次有机会,就争取感受一把.早上进园的时候已经很晚,原本还担心要排很久的队伍,实际走到那个僻静的入口时并没有看到什么人.穿过长长长长的幽深小径之后来到上车点.前面只稀稀拉拉排了十几个人,等了一辆车就排到了.本来想坐第一排最外侧的位置,可惜放眼镜的时候被人抢坐,只能坐在第三排的外侧.耳边都是在说什么很害怕不想坐了,我也稍微有了一点紧张.坐上之后盖好固

[ACM] HDU 2063 过山车 (二分图,匈牙利算法)

过山车 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 11509    Accepted Submission(s): 5066 Problem Description RPG girls今天和大家一起去游乐场玩,最终能够坐上梦寐以求的过山车了.但是,过山车的每一排仅仅有两个座位,并且还有条不成文的规矩,就是每一个女生必须找个个男生做

hdu 2063 过山车

Problem Description RPG girls今天和大家一起去游乐场玩,终于可以坐上梦寐以求的过山车了.可是,过山车的每一排只有两个座位,而且还有条不成文的规矩,就是每个女生必须找个个男生做partner和她同坐.但是,每个女孩都有各自的想法,举个例子把,Rabbit只愿意和XHD或PQK做partner,Grass只愿意和linle或LL做partner,PrincessSnow愿意和水域浪子或伪酷儿做partner.考虑到经费问题,boss刘决定只让找到partner的人去坐过山

HDU 2063:过山车(二分匹配,匈牙利算法)

过山车 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 9745    Accepted Submission(s): 4294 Problem Description RPG girls今天和大家一起去游乐场玩,终于可以坐上梦寐以求的过山车了.可是,过山车的每一排只有两个座位,而且还有条不成文的规矩,就是每个女生必须找个个男生做par