1. 程式人生 > >【杭電】[2063]過山車

【杭電】[2063]過山車

這裡寫圖片描述
這裡寫圖片描述

二分圖匹配模板題目

#include<stdio.h>
#include<string.h>
int line[520][520];
int used[520],flag[520];
int n,m;
bool find(int x) {
    for(int i=1; i<=m; i++) {
        if(line[x][i]&&!used[i]) {
            used[i]=1;
            if(!flag[i]||find(flag[i])) {
                flag[i]=x;
                return
true; } } } return false; } int main() { int K; while(scanf("%d",&K),K) { memset(line,0,sizeof(line)); memset(flag,0,sizeof(flag)); scanf("%d %d",&n,&m); while(K--) { int x,y; scanf("%d %d",&x,&y); line[x][y]=1
; } int cnt=0; for(int i=1; i<=n; i++) { memset(used,0,sizeof(used)); if(find(i)) { cnt++; } } printf("%d\n",cnt); } return 0; }