HDU3549(最大流入门模板题)
来源:互联网 发布:中国联合网络通信官网 编辑:程序博客网 时间:2024/05/08 06:04
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3549
过山车
Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 9322 Accepted Submission(s): 4108
Problem Description
RPG girls今天和大家一起去游乐场玩,终于可以坐上梦寐以求的过山车了。可是,过山车的每一排只有两个座位,而且还有条不成文的规矩,就是每个女生必须找个个男生做partner和她同坐。但是,每个女孩都有各自的想法,举个例子把,Rabbit只愿意和XHD或PQK做partner,Grass只愿意和linle或LL做partner,PrincessSnow愿意和水域浪子或伪酷儿做partner。考虑到经费问题,boss刘决定只让找到partner的人去坐过山车,其他的人,嘿嘿,就站在下面看着吧。聪明的Acmer,你可以帮忙算算最多有多少对组合可以坐上过山车吗?
Input
输入数据的第一行是三个整数K , M , N,分别表示可能的组合数目,女生的人数,男生的人数。0<K<=1000
1<=N 和M<=500.接下来的K行,每行有两个数,分别表示女生Ai愿意和男生Bj做partner。最后一个0结束输入。
1<=N 和M<=500.接下来的K行,每行有两个数,分别表示女生Ai愿意和男生Bj做partner。最后一个0结束输入。
Output
对于每组数据,输出一个整数,表示可以坐上过山车的最多组合数。
Sample Input
6 3 31 11 21 32 12 33 10
Sample Output
3
Author
PrincessSnow
Source
RPG专场练习赛
Recommend
lcy | We have carefully selected several similar problems for you: 1068 1083 2444 1281 1150
最近在看图论方面的东西(主要是以前基本没接触。。。实在太渣了。。。) 一道模板题,不解释
//最大流普通算法#include<iostream>#include<algorithm>#include<cstdio>#include<cstring>#include<vector>#include<queue>using namespace std;const int MAX=1010;const int INF=1<<30;struct edge{int to,cap,rev;};vector<edge> G[MAX];bool used[MAX];void add(int from,int to,int cap){ G[from].push_back((edge){to,cap,G[to].size()}); G[to].push_back((edge){from,0,G[from].size()-1});}int dfs(int v,int t,int f){ if(v==t) return f; used[v]=true; for(int i=0;i<G[v].size();i++) { edge &e=G[v][i]; if(!used[e.to]&&e.cap>0) { int d=dfs(e.to,t,min(f,e.cap)); if(d>0) { e.cap-=d; G[e.to][e.rev].cap+=d; return d; } } } return 0;}int max_flow(int s,int t){ int flow=0; for(;;) { memset(used,0,sizeof(used)); int f=dfs(s,t,INF); if(f==0) return flow; flow+=f; }}int main(){ int T; while(cin>>T) { for(int kase=1;kase<=T;kase++) { for(int i=0;i<MAX;i++) G[i].clear(); int n,m; cin>>n>>m; for(int i=0;i<m;i++) { int x,y,z; scanf("%d%d%d",&x,&y,&z); add(x,y,z); } cout<<"Case "<<kase<<": "<<max_flow(1,n)<<endl; } } return 0;}
才用bfs进行优化的(虽然这题明显没有必要):
#include<iostream>#include<algorithm>#include<cstdio>#include<cstring>#include<vector>#include<queue>using namespace std;const int MAX=1010;const int INF=1<<30;struct edge{int to,cap,rev;};vector<edge> G[MAX];int level[MAX];int iter[MAX];void add(int from,int to,int cap){ G[from].push_back((edge){to,cap,G[to].size()}); G[to].push_back((edge){from,0,G[from].size()-1});}void bfs(int s){ memset(level,-1,sizeof(level)); queue<int> que; level[s]=0; que.push(s); while(!que.empty()) { int v=que.front(); que.pop(); for(int i=0;i<G[v].size();i++) { edge &e=G[v][i]; if(e.cap>0&& level[e.to]<0) { level[e.to]=level[v]+1; que.push(e.to); } } }}int dfs(int v,int t,int f){ if(v==t) return f; for(int &i=iter[v];i<G[v].size();i++) { edge &e=G[v][i]; if(e.cap>0&&level[v]<level[e.to]) { int d=dfs(e.to,t,min(f,e.cap)); if(d>0) { e.cap-=d; G[e.to][e.rev].cap+=d; return d; } } } return 0;}int max_flow(int s,int t){ int flow=0; for(;;) { bfs(s); if(level[t]<0) return flow; memset(iter,0,sizeof(iter)); int f; while((f=dfs(s,t,INF))>0) flow+=f; }}int main(){ int T; while(cin>>T) { for(int kase=1;kase<=T;kase++) { for(int i=0;i<MAX;i++) G[i].clear(); int n,m; cin>>n>>m; for(int i=0;i<m;i++) { int x,y,z; scanf("%d%d%d",&x,&y,&z); add(x,y,z); } cout<<"Case "<<kase<<": "<<max_flow(1,n)<<endl; } } return 0;}
0 0
- HDU3549(最大流入门模板题)
- HDU3549 最大流入门
- hdu3549(网络流入门题-最大流的sap算法)
- HDU3549 Flow Problem (网络流入门题)
- HDU3549 网络流入门题(Dinic)
- 网络流入门题hdu3549(Flow Problem)
- hdu3549 最大流模板题
- hdu3549(网络流入门题-最大流的Ford-Fulkerson算法)
- hdu3549(又是最大流模板题)
- 最大流入门 hdu 3549 ford-fulkerson模板题
- poj1273 Drainage Ditches(最大流入门 EK+Dinic模板)
- POJ3281Dining(最大流入门题)
- HDU3549--最大流水题
- hdu3549及最大流dinic模板
- hdu3549及最大流ISAP模板
- hdu3549 Flow Problem 最大流模板 isap
- HDU3549最大流模板学习题
- hdu3549(最大流ford-fulkerson模板)
- SQL2005 安装时 “性能监视器计数器要求(错误)” 解决方案
- 自定义控件滚动条操作(一)
- SmartSVN使用
- Java i++和i--
- Handler的使用与原理
- HDU3549(最大流入门模板题)
- VMware虚拟机上网络连接(network type)的三种模式--bridged、host-only、NAT
- 内存对齐的规则以及作用
- 在html文件中引用JQuery函数库
- Hybrid开发之一——UIWebView头文件
- Unicode、UTF-8 和 ISO8859-1到底有什么区别
- UEeditor修改绑定内容
- hdu1253
- HttpHostConnectException异常