1109. Conference
2012-10-22 17:51
197 查看
http://acm.timus.ru/problem.aspx?space=1&num=1109
匈牙利算法简单题 好久没写匈牙利算法了
先让A组 和 B组 尽量多的配对 剩余人数每个人连一根
代码:
匈牙利算法简单题 好久没写匈牙利算法了
先让A组 和 B组 尽量多的配对 剩余人数每个人连一根
代码:
#include<iostream> #include<cstdio> #include<cstring> #include<string> #include<vector> #include<map> #include<cmath> #include<queue> #include<stack> #include<algorithm> using namespace std; const int INF=0x3f3f3f3f; const int N=1005; vector<int>negotiate ; int f ; bool visited ; bool dfs(int x) {//cout<<x<<endl; for(unsigned int i=0;i<negotiate[x].size();++i) { if(visited[ negotiate[x][i] ]) continue; visited[ negotiate[x][i] ]=true; if(f[ negotiate[x][i] ]==-1||(dfs( f[ negotiate[x][i] ] ))) { f[negotiate[x][i]]=x; return true; } } return false; } int main() { //freopen("data.txt","r",stdin); int n,m,k; while(scanf("%d %d %d",&n,&m,&k)!=EOF) { for(int i=1;i<=n;++i) negotiate[i].clear(); while(k--) { int l1,l2; scanf("%d %d",&l1,&l2); negotiate[l1].push_back(l2); } memset(f,-1,sizeof(f)); int tmp=0; for(int i=1;i<=n;++i) { memset(visited,false,sizeof(visited)); if(dfs(i)) ++tmp; } printf("%d\n",n+m-tmp*2+tmp); } return 0; }
相关文章推荐
- timus 1109 Conference(二分图匹配)
- ural 1109 Conference (二分图匹配)
- Ural 1109 Conference(最小路径覆盖数)
- 1109. Conference(二分图)
- Ural 1109 Conference(匈牙利算法·转换)
- Ural1109_Conference(二分图最大匹配/匈牙利算法/网络最大流)
- Ural1109 Conference(二分图匹配)
- 【图论】【二分图匹配】[Ural 1109]Conference
- Ural-1109-Conference
- 1109. Conference
- Ural1109_Conference(二分图最大匹配/匈牙利算法/网络最大流)
- The 1st International Conference on Multimedia and Ubiquitous Engineering
- top conferences and journals in Machine Learning
- 2009 International Conference on E-Learning, E-Business, Enterprise Information Systems, and E-Government (EEEE 2009)
- (ZZ) Computer Science Conference Rankings
- Erlang User Conference 2010见闻(兼谈程序员职业生涯)
- Computer Science Conference Rankings
- zoj 1109 Language of FatMouse 【字典树】
- JRTPLIB@Conference DIY视频会议系统 四、JRTPLIB组成的文字会议测试
- 各类会议(conference\symposium\workshop) 之间的区别