51nod 2006 飞行员配对(二分图最大匹配)
来源:互联网 发布:linux ext3 ext4 区别 编辑:程序博客网 时间:2024/05/18 03:04
http://www.51nod.com/onlineJudge/questionCode.html#!problemId=2006
分析:
只写了匈牙利 网络流还没有写
AC代码:
#include <iostream>#include <stdlib.h>#include <stdio.h>#include <string.h>#include <math.h>#include <vector>#include <stack>#include <queue>#include <map>#include <set>#include<list>#include <bitset>#include <climits>#include <algorithm>#define gcd(a,b) __gcd(a,b)#define FINfreopen("input.txt","r",stdin)#define FOUT freopen("output.txt","w",stdout)typedef long long LL;const LL mod=1e9+7;const int INF=0x3f3f3f3f;const double PI=acos(-1.0);using namespace std;int map0[105][105];int vis[105];int ans[105];int n,m;int find(int x){ for (int j=m+1;j<=n;j++){ if (map0[x][j]&&!vis[j]){ vis[j]=1; if (!ans[j]||find(ans[j])){ ans[j]=x; return 1; } } } return 0;}int main (){ //FIN; while (scanf ("%d%d",&m,&n)!=EOF){ int x,y; memset(map0,0,sizeof(map0)); memset(ans,0,sizeof(ans)); while (scanf ("%d%d",&x,&y)&&x!=-1&&y!=-1){ map0[x][y]=1; } LL sum=0; for (int i=1;i<=m;i++){ memset(vis,0,sizeof(vis)); if (find(i)) sum++; } printf ("%lld\n",sum); } return 0;}
阅读全文
0 0
- 51Nod-2006-飞行员配对(二分图最大匹配)
- 51nod 2006 飞行员配对(二分图最大匹配)
- 51NOD 2006 飞行员配对(二分图最大匹配)
- 51NOD-2006 飞行员配对(二分图最大匹配)
- 51nod 2006 飞行员配对(二分图最大匹配)
- 51nod 2006 飞行员配对(二分图最大匹配)
- 51Nod 2006:飞行员配对(二分图最大匹配,匈牙利算法)
- 51Nod-2006 飞行员配对(二分图最大匹配,匈牙利算法)
- 51Nod 2006 飞行员配对(二分图最大匹配) 匈牙利算法
- 51nod 2006 飞行员配对(二分图最大匹配) 裸匈牙利算法 求二分图最大匹配题
- 2006 飞行员配对(二分图最大匹配)
- 2006 飞行员配对(二分图最大匹配)
- 51nod2006 飞行员配对(二分图最大匹配)匈牙利算法
- 51NOD2006 飞行员配对(二分图最大匹配)
- 51nod2006 飞行员配对(二分图最大匹配)
- 一、飞行员配对方案问题 [二分图的最大匹配]
- 飞行员配对方案问题(二分图的最大匹配)
- 飞行员配对方案问题(二分图最大匹配)
- update on duplicate key update
- android 检测网络
- Hackerrank Magic Cards
- sql面试题及答案总结
- 剑指Offer—38—二叉树的深度
- 51nod 2006 飞行员配对(二分图最大匹配)
- 不具参考价值--struts2 那个啥
- 位运算实现两个整数的加法运算
- hdu6181Two Paths(次短路模板题)
- Spring笔记-通过Spring的配置文件来配置bean
- Salty Fish
- Path Sum,Path Sum II,Path Sum III总结
- 并发编程-synchronized的实现原理和应用
- 最大差值(贪心)