Cogs 14. [网络流24题] 搭配飞行员
#include<bits/stdc++.h>
using namespace std;
int G[][],vis[],girl[],n,n1;
int hungry(int boy)
{
int i;
for(i=n1+;i<=n;i++)
{
if(G[boy][i]==&&vis[i]==)
{
vis[i]=;
if(hungry(girl[i])==||girl[i]==)
{
girl[i]=boy;
return ;
}
}
}
return ;
}
int main()
{
int a,b,sum,i;
scanf("%d %d",&n,&n1);
while(scanf("%d %d",&a,&b)!=EOF)G[a][b]=;
memset(girl,,sizeof(girl));
sum=;
for(i=;i<=n1;i++)
{
memset(vis,,sizeof(vis));
if(hungry(i)==)sum++;
}
printf("%d",sum);
return ;
}
#include<cstdio>
#include<cstring>
#include<cmath>
#include<cstdlib>
#include<algorithm>
using namespace std;
int n,s,t,q[],dis[],G[][];
int Min(int aaa,int bbb){if(aaa>bbb)return bbb;else return aaa;}
int Bfs()
{
int head,tail,u,v;
memset(q,,sizeof(q)),head=,tail=,q[tail]=s;
memset(dis,-,sizeof(dis)),dis[s]=;
while(head<=tail)
{
u=q[++head];
for(v=;v<=n;v++)
{
if(G[u][v]>&&dis[v]<)
{
dis[v]=dis[u]+;
q[++tail]=v;
}
}
}
if(dis[n]<=)return ;
else return ;
}
int Dfs(int u,int minflow)
{
int v,ans;
if(u==n)return minflow;
for(v=;v<=n;v++)
{
if(G[u][v]>&&dis[v]==dis[u]+)
{
ans=Dfs(v,Min(minflow,G[u][v]));
if(ans!=)
{
G[u][v]-=ans;
G[v][u]+=ans;
return ans;
}
}
}
return ;
}
int Dinic()
{
int maxflow=,ans;
while(Bfs()!=)
{
ans=Dfs(s,0x7fffffff);if(ans==)break;maxflow+=ans;
}
return maxflow;
}
int main()
{
int n1,a,b,i;
scanf("%d %d",&n,&n1);
while(scanf("%d %d",&a,&b)!=EOF)G[a][b]=;
n+=;s=n-;t=n;
for(i=;i<=n1;i++)G[s][i]=;
for(i=n1+;i<=n-;i++)G[i][t]=;
printf("%d",Dinic());
return ;
}
Cogs 14. [网络流24题] 搭配飞行员的更多相关文章
- cogs 14. [网络流24题] 搭配飞行员 二分图最大匹配 匈牙利算法
14. [网络流24题] 搭配飞行员 ★★ 输入文件:flyer.in 输出文件:flyer.out 简单对比时间限制:1 s 内存限制:128 MB [问题描述] 飞行大队有 ...
- Cogs 14. [网络流24题] 搭配飞行员(二分图匹配)
[网络流24题] 搭配飞行员 ★★☆ 输入文件:flyer.in 输出文件:flyer.out 简单对比 时间限制:1 s 内存限制:128 MB [问题描述] 飞行大队有若干个来自各地的驾驶员,专门 ...
- [COGS 0014][网络流24题] 搭配飞行员
先贴题面 14. [网络流24题] 搭配飞行员 ★★☆ 输入文件:flyer.in 输出文件:flyer.out简单对比时间限制:1 s 内存限制:128 MB [问题描述] 飞行 ...
- COGS——C 14. [网络流24题] 搭配飞行员
http://cogs.pro/cogs/problem/problem.php?pid=14 ★★☆ 输入文件:flyer.in 输出文件:flyer.out 简单对比时间限制:1 s ...
- [网络流24题] 搭配飞行员(cogs 14)
[问题描述] 飞行大队有若干个来自各地的驾驶员,专门驾驶一种型号的飞机,这种飞机每架有两个驾驶员,需一个正驾驶员和一个副驾驶员.由于种种原因,例如相互配合的问题,有些驾驶员不能在同一架飞机上飞 ...
- COGS14. [网络流24题] 搭配飞行员
[问题描述] 飞行大队有若干个来自各地的驾驶员,专门驾驶一种型号的飞机,这种飞机每架有两个驾驶员,需一个正驾驶员和一个副驾驶员.由于种种原因,例如相互配合的问题,有些驾驶员不能在同一架飞机上飞 ...
- 【COGS 14】 [网络流24题] 搭配飞行员 网络流板子题
用网络流水二分图的模型(存一下板子) #include <cstdio> #include <cstring> #include <algorithm> #defi ...
- 网络流24题 搭配飞行员(DCOJ8000)
题目描述 飞行大队有若干个来自各地的驾驶员,专门驾驶一种型号的飞机,这种飞机每架有两个驾驶员,需一个正驾驶员和一个副驾驶员.由于种种原因,例如相互配合的问题,有些驾驶员不能在同一架飞机上飞行,问如何搭 ...
- [网络流 24 题] luoguP2756 飞行员配对方案问题
[返回网络流 24 题索引] 题目描述 英国皇家空军从沦陷国征募了大量外籍飞行员.由皇家空军派出的每一架飞机都需要配备在航行技能和语言上能互相配合的 222 名飞行员,其中 111 名是英国飞行员,另 ...
随机推荐
- 简单的方式优化mysql
参考博客 自己笔记本上向mysql导入txt数据,有一个table导入了将近4个小时,而且多个table之间都是相互之间存在关系的,所以做联合查询的时候你会发现问题会十分的多,我之前联合查询两个表就死 ...
- placeholder右对齐的写法,兼容性比较高的一种方法
placeholder右对齐的写法,如果你不考虑移动端的话,完全可以使用text-align:right,不过如果考虑移动端的话,在有一些手机上,即使你写了text-align:right,place ...
- JavaScript继承
最佳的继承范式 寄生组合继承 我们来看一下它的实现方式: function Object(o){ var TempObject = function(){}; TempObject.prototype ...
- Generate Time Data(财务日期主数据)
1. Generate the master data from the specific time frame that you are interested in根据你输入的时间段来产生主 ...
- JAVA 1.3 (原生数据类型 Primitive Data Type)续
1. 原生数据类型一共有4类8种 >> 整数类型 int表示一个int代表32位 2^32(-2147483648 - 2147483647) >> 字符类型 byte 表示一 ...
- Spring官网下载dist.zip的几种方法
Spring官网下载dist.zip的几种方法 Spring官网改版后,很多项目的完整zip包下载链接已经隐掉了,虽然Spring旨在引导大家用更“高大上”的maven方式来管理所依赖的jar包, ...
- weex 小结 --官方扩展组件
<wxc-tabbar> 页面底部的 tab 标签,通过点击在不同页面之间切换 属性: selected-index {number}:设置默认选中的 tab 索引,默认值为 0(第一个 ...
- ctags使用细节
在src code目录中运行下面的命令(我自己使用的命令): $ctags --langmap=c++:.h --languages=c++,c,perl,verilog -R 其中,指定cta ...
- AWS EC2首次使用VPS
看到AWS有免费一年的试用期,就申请了一个账号.想搭建一个自己的网站.申请之前,你还需要有一张信用卡. 申请AWS账号,登陆控制台 进入AWS官网即可申请账号,进入控制台后,就可以新建一个AWS EC ...
- CSS3--overflow属性
overflow:当内容溢出元素框时发生的事情: overflow:默认,内容不会裁剪,会呈现在元素框之外: overflow:hidden:内容会被裁剪,并且其余部分是不可见的(清除浮动) over ...