網路流24題之T1 飛行員配對方案問題

2021-07-28 18:22:51 字數 897 閱讀 2745

本題是一道標準的二分圖匹配問題,但是也可以用來做網路流的入門題。

首先,建立乙個超級源點和超級匯點。建立有向邊,將超級源點指向外籍飛行員,外籍飛行員指向英國飛行員,英國飛行員指向超級匯點,每條有向邊的流量為一,做一遍最基本的網路流就得出答案了。

#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 名是外籍飛行員。在眾多的飛行員中,每一名外籍飛行員都可以與其他若干名英 國飛行員很好地配合。如何選擇配對飛行的飛行...