題意:假設有來自 m
mm 個不同單位的代表參加一次國際會議。每個單位的代表數分別為 r
ir_i
ri。會議餐廳共有 n
nn 張餐桌,每張餐桌可容納 c
ic_i
ci個代表就餐。
為了使代表們充分交流,希望從同乙個單位來的代表不在同乙個餐桌就餐。
試設計乙個演算法,給出滿足要求的代表就餐方案。
連出這樣乙個圖跑最大流即可。
左部點為單位,右部點為餐桌。
乙個單位至多乙個人去某個餐桌。(所以容量為1)
如果s相連的邊的容量都沒了就合法。
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#define fi first
#define se second
#define lc (x<<1)
#define rc (x<<1|1)
#define g getchar()
#define mk make_pair
#define pi pair
#define pb push_back
using
namespace std;
typedef
long
long ll;
typedef
unsigned
long
long ull;
const
int n=
433,inf=
2e9;
template
<
class
o>
void
qr(o&x)
while
(isdigit
(c))x=x*
10+c-
'0',c=g;
x*=f;
}template
<
class
o>
void
qw(o x)
template
<
class
o>
void
pr1(o x)
template
<
class
o>
void
pr2(o x)
int n,m,d[n]
,st,ed,q[n]
,tot;
struct edge a[n*n]
;int len=
1,last[n]
,cur[n]
;void
ins(
int x,
int y,
int z)
; last[x]
=len;
}void
add(
int x,
int y,
int z)
bool
bfs()}
return0;
}int
dfs(
int x,
int f)}if
(!s) d[x]=0
;return s;
}int
main()
puts(""
);}return0;
}
loj6004 網路流 24 題 圓桌聚餐
題目描述 假設有來自 n n n 個不同單位的代表參加一次國際會議。每個單位的代表數分別為 ri r i r i 會議餐廳共有 m m m 張餐桌,每張餐桌可容納 ci c i c i 個代表就餐。為了使代表們充分交流,希望從同乙個單位來的代表不在同乙個餐桌就餐。試設計乙個演算法,給出滿足要求的代表...
Cogs 729 網路流24題 圓桌聚餐
網路流24題 圓桌聚餐 輸入檔案 roundtable.in 輸出檔案 roundtable.out 評測外掛程式 時間限制 1 s 記憶體限制 128 mb 問題描述 假設有來自m 個不同單位的代表參加一次國際會議。每個單位的代表數分別為 ri i 1,2,3 m 會議餐廳共有n張餐桌,每張餐桌可...
loj6013 網路流 24 題 負載平衡
題目描述 g 公司有 n n n 個沿鐵路運輸線環形排列的倉庫,每個倉庫儲存的貨物數量不等。如何用最少搬運量可以使 n n n 個倉庫的庫存數量相同。搬運貨物時,只能在相鄰的倉庫之間搬運。輸入格式 檔案的第 1 1 1 行中有 1 1 1 個正整數 n n n,表示有 n n n 個倉庫。第 2 2...