本題是一道標準的二分圖匹配問題,但是也可以用來做網路流的入門題。
首先,建立乙個超級源點和超級匯點。建立有向邊,將超級源點指向外籍飛行員,外籍飛行員指向英國飛行員,英國飛行員指向超級匯點,每條有向邊的流量為一,做一遍最基本的網路流就得出答案了。
#include
#include
#include
#include
#include
#include
using namespace std ;
const int maxn=110;
const int oo=1000000000;
typedef struct edge
edge (int a,int b,int d,int e,int g)
}e;e edge[100
*maxn+10];
int len=-1,head[maxn],n,m;
int vis[maxn],dis[maxn];
int cur[maxn];
int allp;//總的點個數
int s,t;//源點和匯點的編號
void e_add (int
s,int t,int
x,int
y)void init ()
for (i=m+1;i<=n;i++)
for (i=1;i<=m;i++)
}int bfs ()}}
return vis[t];
}int dfs (int
x,int fmax)
}return flow;
}int dinic ()
return flow;
}int main ()
網路流24題 搭配飛行員 飛行員配對方案
網路流24題 搭配飛行員 輸入檔案 flyer.in 輸出檔案 flyer.out 簡單對比 時間限制 1 s 記憶體限制 128 mb 問題描述 飛行大隊有若干個來自各地的駕駛員,專門駕駛一種型號的飛機,這種飛機每架有兩個駕駛員,需乙個正駕駛員和乙個副駕駛員。由於種種原因,例如相互配合的問題,有些...
網路流24題1 飛行員配對方案問題
問題描述 飛行大隊有若干個來自各地的駕駛員,專門駕駛一種型號的飛機,這種飛機每架有兩個駕駛員,需乙個正駕駛員和乙個副駕駛員。由於種種原因,例如相互配合的問題,有些駕駛員不能在同一架飛機上飛行,問如何搭配駕駛員才能使出航的飛機最多。如圖,假設有10個駕駛員,如圖中的v1,v2,v10就代表達10個駕駛...
網路流24題1 飛行員配對方案問題
問題描述 第二次世界大戰時期,英國皇家空軍從淪陷國徵募了大量外籍飛行員。由皇家空軍派出 的每一架飛機都需要配備在航行技能和語言上能互相配合的2 名飛行員,其中1 名是英國飛 行員,另1 名是外籍飛行員。在眾多的飛行員中,每一名外籍飛行員都可以與其他若干名英 國飛行員很好地配合。如何選擇配對飛行的飛行...