(
題目描述
假設有來自 n n n 個不同單位的代表參加一次國際會議。每個單位的代表數分別為 ri r_i ri。會議餐廳共有 m m m 張餐桌,每張餐桌可容納 ci c_i ci 個代表就餐。
為了使代表們充分交流,希望從同乙個單位來的代表不在同乙個餐桌就餐。
試設計乙個演算法,給出滿足要求的代表就餐方案。
輸入格式
檔案第 1 1 1 行有 2 2 2 個正整數 m m m 和 n n n,m m m 表示單位數,n n n 表示餐桌數。
檔案第 2 2 2 行有 m m m 個正整數,分別表示每個單位的代表數。
檔案第 3 3 3 行有 n n n 個正整數,分別表示每個餐桌的容量。
輸出格式
如果問題有解,在檔案第 1 1 1 行輸出 1 1 1,否則輸出 0 0 0。
接下來的 m m m 行給出每個單位代表的就餐桌號。如果有多個滿足要求的方案,只要輸出乙個方案。
樣例 樣例輸入
4 5
4 5 3 5
3 5 2 6 4
樣例輸出
1 1 2 4 5
1 2 3 4 5
2 4 5
1 2 3 4 5
資料範圍與提示
1≤m≤150,1≤n≤270 1 \leq m \leq 150, 1 \leq n \leq 270 1≤m≤150,1≤n≤270
這題我竟然想了很久怕不是個傻x
從源點向每個團隊建團隊數的邊 然後因為每個團隊在每桌只可以有乙個人
那麼所以從每個團隊向每桌連容量為1的邊
然後從每個桌向匯點連容量為桌子坐的數量的邊 最後跑最大流看是否滿流
如果滿流輸出方案數即可
#include
#include
#include
#include
#define inf 0x3f3f3f3f
#define n 500
using
namespace
std;
inline
char gc()
return *s++;
}inline
int read()
return x;
}int num=1,h[n],level[n],n,m,t;
struct nodedata[110000];
inline
void insert1(int x,int y,int z)
inline
bool bfs()
}return0;}
inline
int dfs(int x,int s)
}return ss-s;
}int main()
} return
0;}
LOJ 6004 網路流 24 題 圓桌聚餐
題意 假設有來自 m mm 個不同單位的代表參加一次國際會議。每個單位的代表數分別為 r ir i ri 會議餐廳共有 n nn 張餐桌,每張餐桌可容納 c ic i ci 個代表就餐。為了使代表們充分交流,希望從同乙個單位來的代表不在同乙個餐桌就餐。試設計乙個演算法,給出滿足要求的代表就餐方案。連...
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...