传说中的网络流24题
2015-08-03 16:58
405 查看
[网络流24题] 搭配飞行员
【问题描述】 飞行大队有若干个来自各地的驾驶员,专门驾驶一种型号的飞机,这种飞机每架有两个驾驶员,需一个正驾驶员和一个副驾驶员。由于种种原因,例如相互配合的问题,有些驾驶员不能在同一架飞机上飞行,问如何搭配驾驶员才能使出航的飞机最多。#include<cstdio> #include<cstring> #include<iostream> #include<fstream> #define cin fin #define cout fout #define maxn 1000 using namespace std; int head[maxn],next[maxn],point[maxn],now,visit[maxn]; int match[maxn]; ofstream fout ("flyer.out"); ifstream fin ("flyer.in"); void add(int x,int y) { next[++now] = head[x]; head[x]=now; point[now] = y; } int dfs(int x) { for(int i=head[x];i;i=next[i]) { int u = point[i]; if(visit[u])continue; visit[u] = 1; if(match[u]==-1 || dfs(match[u])) { match[u] = x; return 1; } } return 0; } int main() { int n,m,ans=0,x,y; cin>>n>>m; while(cin>>x>>y) { add(x,y); } memset(match,-1,sizeof(match)); for(int i=1;i<=m;i++) { memset(visit,0,sizeof(visit)); if(dfs(i))ans++; } cout<<ans<<endl; return 0; }View Code
相关文章推荐
- 优化Linux下的内核TCP参数来提高服务器负载能力
- Http请求与响应
- 封装网络请求
- 在linux中如何做http YUM
- 用ImageLoader下载网络图片
- 用ImageLoader下载网络图片
- 怎样快速读完一本网络小说
- 使用 libevent 和 libev 提高网络应用性能
- 【网络流】 HDOJ 3879 Base Station
- 转自http://bbs.pfan.cn/
- 提升linux下tcp服务器并发连接数限制
- 计算机网络(一)
- 网络号与主机号的计算以及子网的划分
- 第四周第一天(【URL(openStream()】【基于UDP的网络通信】)
- 计算机网络基础
- 计算机网络小结
- QTcpSocket类和QTcpServer类
- Json网络解析
- Json网络解析
- java程序设置http,socks代理