标签:des style blog http color os
6 3 3 1 1 1 2 1 3 2 1 2 3 3 1 0
3
思路:这道题海会搜代码的人,说明对于匈牙利算法掌握的不是很好。推荐看一个前辈写的很好的匈牙利算法介绍(我转载的)http://blog.csdn.net/u012313382/article/details/37658311
代码我就详细的写一下!
#include<stdio.h> #include<string.h> int link[520][520]; //代表女孩子对哪些帅哥有戏 int vis[520],girl[520]; //vis代表路径,girl代表女孩子要匹配的帅哥 int n,w,m; int match(int x) { int i; for(i=1;i<=m;i++){ if(link[x][i]&&!vis[i]) { vis[i]=1; if(!girl[i]||match(girl[i])) { girl[i]=x; return 1; } } } return 0; } int main() { while(~scanf("%d",&n)) { int a,b,sum=0; memset(link,0,sizeof(link)); memset(girl,0,sizeof(girl)); if(n==0) break; scanf("%d %d",&w,&m); for(int i=1;i<=n;i++){ scanf("%d %d",&a,&b); link[a][b]=1; } for(int i=1;i<=w;i++){ memset(vis,0,sizeof(vis)); if(match(i))sum++; } printf("%d\n",sum); } return 0; }
标签:des style blog http color os
原文地址:http://blog.csdn.net/u012313382/article/details/37663309