这道题其实蛮好想的,因为分为正,副飞行员。所以就把正飞行员当作Boy,副飞行员当作Girl。然后做Hungry即可。

 #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 ;
}

但这道题是“网络流24题”,所以还是要练一练网络流。所以直接用Dinic做最大流即可。

 #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题] 搭配飞行员的更多相关文章

  1. cogs 14. [网络流24题] 搭配飞行员 二分图最大匹配 匈牙利算法

    14. [网络流24题] 搭配飞行员 ★★   输入文件:flyer.in   输出文件:flyer.out   简单对比时间限制:1 s   内存限制:128 MB [问题描述]     飞行大队有 ...

  2. Cogs 14. [网络流24题] 搭配飞行员(二分图匹配)

    [网络流24题] 搭配飞行员 ★★☆ 输入文件:flyer.in 输出文件:flyer.out 简单对比 时间限制:1 s 内存限制:128 MB [问题描述] 飞行大队有若干个来自各地的驾驶员,专门 ...

  3. [COGS 0014][网络流24题] 搭配飞行员

    先贴题面 14. [网络流24题] 搭配飞行员 ★★☆   输入文件:flyer.in   输出文件:flyer.out简单对比时间限制:1 s   内存限制:128 MB [问题描述]     飞行 ...

  4. COGS——C 14. [网络流24题] 搭配飞行员

    http://cogs.pro/cogs/problem/problem.php?pid=14 ★★☆   输入文件:flyer.in   输出文件:flyer.out   简单对比时间限制:1 s  ...

  5. [网络流24题] 搭配飞行员(cogs 14)

    [问题描述]     飞行大队有若干个来自各地的驾驶员,专门驾驶一种型号的飞机,这种飞机每架有两个驾驶员,需一个正驾驶员和一个副驾驶员.由于种种原因,例如相互配合的问题,有些驾驶员不能在同一架飞机上飞 ...

  6. COGS14. [网络流24题] 搭配飞行员

    [问题描述]     飞行大队有若干个来自各地的驾驶员,专门驾驶一种型号的飞机,这种飞机每架有两个驾驶员,需一个正驾驶员和一个副驾驶员.由于种种原因,例如相互配合的问题,有些驾驶员不能在同一架飞机上飞 ...

  7. 【COGS 14】 [网络流24题] 搭配飞行员 网络流板子题

    用网络流水二分图的模型(存一下板子) #include <cstdio> #include <cstring> #include <algorithm> #defi ...

  8. 网络流24题 搭配飞行员(DCOJ8000)

    题目描述 飞行大队有若干个来自各地的驾驶员,专门驾驶一种型号的飞机,这种飞机每架有两个驾驶员,需一个正驾驶员和一个副驾驶员.由于种种原因,例如相互配合的问题,有些驾驶员不能在同一架飞机上飞行,问如何搭 ...

  9. [网络流 24 题] luoguP2756 飞行员配对方案问题

    [返回网络流 24 题索引] 题目描述 英国皇家空军从沦陷国征募了大量外籍飞行员.由皇家空军派出的每一架飞机都需要配备在航行技能和语言上能互相配合的 222 名飞行员,其中 111 名是英国飞行员,另 ...

随机推荐

  1. angularJS: shop chart

    <!DOCTYPE html> <html ng-app="app">   <head>     <meta charset=" ...

  2. Angular Mobile UI API文档

    这个是angular-mobile-ui的主要模块 应用这个模块你也将同时获取到mobile-angular-ui.core和mobile-angular-ui.components的特性 他不在需要 ...

  3. 微信小程序-表单组件

    button 按钮 注:button-hover 默认为{background-color: rgba(0, 0, 0, 0.1); opacity: 0.7;} 示例代码: /** wxss **/ ...

  4. service&thread

    service:在后台静默运行.服务必须在一个线程中才能运行.长时间的在后台运行,而且不需要交互的情况下,使用服务. thread:在后台运行,但是可以与用户进行相应的交互操作.比如说,音乐播放器,后 ...

  5. php保留键随机打乱数组顺序

    最近遇到一个需求,把一个数组随机打乱顺序,我们可以用php的shuffle函数,但是这个函数会把数组的键清空建立新的键,那么我们若想保留键只需要利用shuffle函数再做一下处理就可以了.可以自定义一 ...

  6. BLE编程中关键步骤

    获取权限 <uses-permission android:name="android.permission.BLUETOOTH"/> <uses-permiss ...

  7. OpenCV从入门到放弃系列之——图像的基本操作

    读取.修改.保存图像 图像读取函数imread(); 图像颜色空间的转换cvtColor(); 图像保存至硬盘imwrite(); /********************************* ...

  8. spring 配置 redis

    1.maven相关pom.xml <dependencies> <!--spring redis--> <dependency> <groupId>or ...

  9. 开源许可证GPL、BSD、MIT、Mozilla、Apache和LGPL的区别

    以下是上述协议的简单介绍:BSD开源协议BSD开源协议是一个给于使用者很大自由的协议.基本上使用者可以”为所欲为”,可以自由的使用,修改源代码,也可以将修改后的代码作为开源或者专有软件再发布. 但”为 ...

  10. My Sql 中要Alter Table的同学请注意!!!

    首先我建议你在对MySQL表做DDL操作时: 1 执行 show processlist 查看,要操作的表(数据库对象)是否处于锁状态 if("未锁定") { 执行DDL语句 }e ...