題意
有m個外籍飛行員和n個英國飛行員,中間存在兩兩可以合作的關係,一架飛機需要乙個外籍飛行員和乙個英國飛行員。
求最多能飛出去多少架飛機,並且輸出任意一種方案。
(似乎因為這個有spj...)
(洛谷上也有spj啊...)
(loj上也有spj啊...)
(打出兩個大凶好煩啊...)
分析
因為是第一次敲網路流所以說還是說一下怎麼整...
簡單來說就是對於乙個有向圖,邊上會有乙個容量限制,表示這條邊最多能流多少,然後求出最後某個點能流到另外乙個點多少流量。
然後學習的是dinic演算法。
模板→按照大佬們的說法,網路流的問題困難的地方主要在建圖。
但是對於這道題來說還是比較好解決的...
按照二分圖原來的樣子建圖,所有的邊的容量都是1,然後建乙個源點s,連向二分圖中左邊所有的點,建乙個匯點t,將二分圖右邊所有的點連向
t。然後求s到t的最大流就好了。
code
#include#define inf 100000
using namespace std;
#define m 605
void read(int &x)
struct ede[m*m];
int ecnt,nx[m];
void add(int x,int y,int cap);
nx[x]=ecnt++;
e[ecnt]=(ed);
nx[y]=ecnt++;
}struct dinic
}} return level[t]>0;
} int dfs(int x,int f)
if (sum==0)level[x]=0;
return sum;
} int max_flow(int s,int t)
return res;
}}dinic;
int main()
網路流24題 搭配飛行員 飛行員配對方案
網路流24題 搭配飛行員 輸入檔案 flyer.in 輸出檔案 flyer.out 簡單對比 時間限制 1 s 記憶體限制 128 mb 問題描述 飛行大隊有若干個來自各地的駕駛員,專門駕駛一種型號的飛機,這種飛機每架有兩個駕駛員,需乙個正駕駛員和乙個副駕駛員。由於種種原因,例如相互配合的問題,有些...
網路流24題1 飛行員配對方案問題
問題描述 飛行大隊有若干個來自各地的駕駛員,專門駕駛一種型號的飛機,這種飛機每架有兩個駕駛員,需乙個正駕駛員和乙個副駕駛員。由於種種原因,例如相互配合的問題,有些駕駛員不能在同一架飛機上飛行,問如何搭配駕駛員才能使出航的飛機最多。如圖,假設有10個駕駛員,如圖中的v1,v2,v10就代表達10個駕駛...
網路流24題1 飛行員配對方案問題
問題描述 第二次世界大戰時期,英國皇家空軍從淪陷國徵募了大量外籍飛行員。由皇家空軍派出 的每一架飛機都需要配備在航行技能和語言上能互相配合的2 名飛行員,其中1 名是英國飛 行員,另1 名是外籍飛行員。在眾多的飛行員中,每一名外籍飛行員都可以與其他若干名英 國飛行員很好地配合。如何選擇配對飛行的飛行...