SSL1338 人员分配(最大匹配)
2017-06-28 10:59
260 查看
人员分配
Description设有M个工人x1, x2, …, xm,和N项工作y1, y2, …, yn,规定每个工人至多做一项工作,而每项工作至多分配一名工人去做。由于种种原因,每个工人只能胜任其中的一项或几项工作。问应怎样分配才能使尽可能多的工人分配到他胜任的工作。这个问题称为人员分配问题。
Input
第一行两个整数m,n分别为工人数和工作数。
接下来一个整数s,为二分图的边数。
接下来s行,每行两个数ai,bi表示第ai个工人能胜任第bi份工作
Output
一个整数,表示最多能让多少个工人派到自己的胜任的工作上。
分析:模版题。。。
代码
#include <cstdio> #include <cstring> using namespace std; int link[200]; bool cover[200],f[200][200]; int n,m,s,x,y; bool find(int i) { for (int k=1;k<=m;k++) if (f[i][k]&&!cover[k]) { cover[k]=true; int q=link[k]; link[k]=i; if (q==0||find(q)) return true; link[k]=q; } return false; } int main() { scanf("%d%d",&n,&m); scanf("%d",&s); for (int i=1;i<=s;i++) { scanf("%d%d",&x,&y); f[x][y]=true; } int ans=0; for (int i=1;i<=n;i++) { memset(cover,false,sizeof(cover)); if (find(i)) ans++; } printf("%d",ans); }
相关文章推荐
- 最大匹配 人员分配(SSL_1338)
- SSL 1338 最大匹配 人员分配
- 1338 最大匹配 人员分配(模板题)
- 人员分配问题_SSL1338_匹配
- 最大匹配 人员分配 二分图样板
- SSL1338 人员分配
- 最大匹配 人员分配
- SSL P1338 最大匹配之人员分配
- 最大匹配 人员分配
- 人员分配[模板_最大匹配]
- (ssl1338)最大匹配 人员分配
- 人员分配 ssl1338
- (ssl1904)USACO 4.2 The Perfect Stall 完美的牛栏(最大匹配)
- SSL1333 地鼠的困境(最大匹配)
- 线性规划与网络流24题之分配问题 最大费用最大流、最小费用最大流、二分图的最佳匹配
- 小行星 SSL_1341(最大匹配)
- 地鼠的困境SSL1333 最大匹配
- 火力网加强版(difficult) SSL_1124 (最大匹配)
- 高维宇宙 ssl 2552 最大匹配
- 信与信封问题 SSL_1331(最大匹配)