51Nod 2006 飞行员配对(二分图最大匹配)

Posted lemonsbiscuit

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了51Nod 2006 飞行员配对(二分图最大匹配)相关的知识,希望对你有一定的参考价值。

链接:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=2006

思路:

二分匹配 注意n m的关系

代码:

技术分享
 1 #include <iostream>
 2 #include <string.h>
 3 using namespace std;
 4 int g[105][105],vis[105],who[105];
 5 int n,m;
 6 bool find(int x) {
 7     for(int i=m+1; i<=n; ++i) {
 8         if(g[x][i]&&!vis[i]) {
 9             vis[i]=1;
10             if(!who[i]||find(who[i])) {
11                 who[i]=x;
12                 return true;
13             }
14         }
15     }
16     return false;
17 }
18 int main() {
19     ios::sync_with_stdio(false);
20     memset(g,0,sizeof(g));
21     memset(who,0,sizeof(who));
22     int u,v,sum;
23     cin>>m>>n;
24     while(cin>>u>>v) {
25         if(u==-1&&v==-1) break;
26         g[u][v]=1;
27     }
28     sum=0;
29     for(int i=1; i<=m; ++i) {
30         memset(vis,0,sizeof(vis));
31         if(find(i)) sum++;
32     }
33     cout<<sum<<endl;
34     return 0;
35 }
View Code

 

以上是关于51Nod 2006 飞行员配对(二分图最大匹配)的主要内容,如果未能解决你的问题,请参考以下文章

51Nod 2006 飞行员配对(二分图最大匹配)-匈牙利算法

(二分图最大匹配)51NOD 2006 飞行员配对

51nod 2006 飞行员配对(二分图最大匹配)

51nod 2006 飞行员配对(二分图最大匹配) 裸匈牙利算法 求二分图最大匹配题

51nod 2006 飞行员匹配

51N偶读2006 飞行员配对(二分图最大匹配)-匈牙利算法