博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
uva 11045(最大流)
阅读量:7185 次
发布时间:2019-06-29

本文共 1801 字,大约阅读时间需要 6 分钟。

题意:(XXL, XL, L, M , S, or XS)每个尺码有若干件,需要分发给m个志愿者。告诉你每个志愿者有两个合适的尺码。问你是否每个志愿者都能找到合适的衣服?

思路:其实是二分匹配问题,这两天在学网络流就转化了一下,首先在二分图的学生节点前各加一个指向他流量为1的边再用一个源点指向连接这条边的点,在衣服节点后加一个被指向流量为衣服件数的边。再在这些边后面增加一个汇点。这样图建好了,套一下模版就OK。

代码如下:

1 #include 
2 #include
3 #include
4 #include
5 #include
6 #include
7 #include
8 #include
9 #include
10 #define LEN 21011 #define ll long long12 #define INF 0x3f3f3f3f13 #define eps 1E-614 15 using namespace std;16 17 int v, m, n, cap[LEN][LEN];18 19 int ch(char str[]){20 if(strcmp(str, "XS")==0)return 0;21 if(strcmp(str, "S")==0)return 1;22 if(strcmp(str, "M")==0)return 2;23 if(strcmp(str, "L")==0)return 3;24 if(strcmp(str, "XL")==0)return 4;25 if(strcmp(str, "XXL")==0)return 5;26 }27 28 int EK(int s, int t)29 {30 int f, flow[LEN][LEN], a[LEN], p[LEN];31 queue
q;32 memset(flow, 0, sizeof flow);33 f = 0;34 while(1){35 memset(a, 0, sizeof a);36 a[s] = INF;37 q.push(s);38 while(!q.empty()){39 int u = q.front(); q.pop();40 for(int v=0; v
flow[u][v]){42 p[v] = u;43 q.push(v);44 a[v] = min(a[u], cap[u][v]-flow[u][v]);45 }46 }47 }48 if(a[t] == 0)break;49 for(int u=t; u!=s; u = p[u]){50 flow[p[u]][u]+=a[t];51 flow[u][p[u]]-=a[t];52 }53 f+=a[t];54 }55 return f;56 }57 58 int main()59 {60 // freopen("in.txt", "r", stdin);61 62 char str[20];63 int T;64 scanf("%d", &T);65 while(T--){66 scanf("%d%d", &v, &m);67 memset(cap, 0, sizeof cap);68 for(int i=0; i
> str;70 cap[i][m+ch(str)] = 1;71 cin >> str;72 cap[i][m+ch(str)] = 1;73 }74 n = m+6;75 for(int i=0; i<6; i++){76 cap[m+i][n++] = v/6;77 }78 for(int i=0; i
<< "YES" << endl;90 else cout << "NO" << endl;91 }92 return 0;93 }
View Code

 

转载于:https://www.cnblogs.com/shu-xiaohao/p/3476101.html

你可能感兴趣的文章
skynet对Windows环境支持的版本:Windows版skynet
查看>>
Android小感悟-重写textview组件感悟
查看>>
bnu Game 博弈。
查看>>
因特网应用
查看>>
Excel 作为数据源
查看>>
2014年 联合权值
查看>>
【转】IntelliJ IDEA2016.1 + maven 创建java web 项目
查看>>
iOS APP 如何做才安全
查看>>
【在Win7的硬盘上安装Fedora17 】
查看>>
linux下解压war格式的包
查看>>
设计模式作品
查看>>
Mac 终端显示git分支
查看>>
binlog_format产生的延迟问题
查看>>
Call Crystal Report from Application Engine
查看>>
使用高级搜索语法的正确姿势
查看>>
泛型在接口中的协变、逆变练习
查看>>
iOS之内存管理浅谈
查看>>
eclipse No projects are found to import
查看>>
快速幂和矩阵快速幂模板
查看>>
跨域的常见问题和解决方案
查看>>