这道题其实蛮好想的,因为分为正,副飞行员。所以就把正飞行员当作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. Mybatis映射文件

    Mapper XML 文件 MyBatis 的真正强大在于它的映射语句,也是它的魔力所在.由于它的异常强大,映射器的 XML 文件就显得相对简单.如果拿它跟具有相同功能的 JDBC 代码进行对比,你会 ...

  2. RStudio中,出现中文乱码问题的解决方案

    RStudio中,出现中文乱码问题的解决方案解决步骤:1.设置RStudio文本显示的默认编码:RStudio菜单栏的Tools -> Global Options2.选择General -&g ...

  3. 【leetcode❤python】 7. Reverse Integer

    #-*- coding: UTF-8 -*-#2147483648#在32位操作系统中,由于是二进制,#其能最大存储的数据是1111111111111111111111111111111.#正因为此, ...

  4. Hibernate ManyToOne, OneToMany的理解

    User to Group, Many to One的关系 Test Case 1: session.beginTransaction(); user.setGroup(group); session ...

  5. HTML5 CANVAS 实现图片压缩和裁切

    原文地址:http://leonshi.com/2015/10/31/html5-canvas-image-compress-crop/?utm_source=tuicool&utm_medi ...

  6. angularjs指令系统系列课程(1):目录

    angularjs里面有一套十分强大的指令系统 比如内置指令:ng-app,ng-model,ng-repeat,ng-init,ng-bind等等 从现在开始我们讲解AngularJS自定义指令, ...

  7. Map拷贝 关于对象深拷贝 浅拷贝的问题

    问题:map拷贝时发现数据会变化. 高能预警,你看到的下面的栗子是不正确的,后面有正确的一种办法,如果需要看的话的,请看到底,感谢各同学的提醒,已做更正,一定要看到最后      先看例子:     ...

  8. asp.net 获取汉字字符串的拼音首字母,含多音字

    需求:在很多时候数据查询的时候,我们希望输入某个人姓名的拼音首字母进行查询,例如“潘长江”,输入“pcj”,就能搜索潘长江相关信息. 实现: #region 获取汉字转换拼音 首字母 public s ...

  9. matlab 视频转换到图像并保存

    图像处理中像Adas.车辆检测等都需要采用视频文件比较好处理一点,利用帧差法.背景减法.光流法等,那么将视频文件转换到图像文件怎么做呢?话不多说,见代码一目了然: %================= ...

  10. mysql 基础篇5(mysql语法---数据)

    6 增删改数据 -- ********一.增删改数据********* --- -- 1.1 增加数据 -- 插入所有字段.一定依次按顺序插入 INSERT INTO student VALUES(1 ...