有 nn 件工作要分配給 nn 個人做。第 ii 個人做第 jj 件工作產生的效益為 c_cij。試設計乙個將 nn 件工作分配給 nn 個人做的分配方案,使產生的總效益最大。
輸入格式:
檔案的第 11 行有 11 個正整數 nn,表示有 nn 件工作要分配給 nn 個人做。
接下來的 nn 行中,每行有 nn 個整數 c_cij,表示第 ii 個人做第 jj 件工作產生的效益為 c_cij。
輸出格式:
兩行分別輸出最小總效益和最大總效益。
輸入樣例#1: 複製
52 2 2 1 2
2 3 1 2 4
2 0 1 1 1
2 3 4 3 3
3 2 1 2 1
輸出樣例#1: 複製
514
1 \leq n \leq 1001≤n≤100
乙個人只能修乙個工件
#include#include#include
#include
#define n 1010100
using
namespace
std;
intn,m,s,t,head[n],tot;
struct
nodee[n];
intdis[n],flow[n],pre[n],last[n],cost;
bool
vis[n];
queue
q;struct
mcmff
void add(int u,int v,int flow,int
w)
void add(int u,int v,int flow,int
w)
bool
spfa()}}
}return pre[t]!=-1
; }
void
mcmf()}}
}netfl;
int work[105][105
];int
main()
}netfl.mcmf();
printf(
"%d\n
",cost);
netfl.init();
for(int i=1;i<=n;i++)
}netfl.mcmf();
printf(
"%d\n
",-1*cost);
return0;
}
洛谷 P4014 分配問題
題目鏈結 有n件工作要分配給n個人做.第i個人做第j件工作產生的效益為cij 試設計乙個將n件工作分配給n個人做的分配方案,使產生的總效益最大.檔案的第1行有1個正整數n,表示有n件工作要分配給n個人做.接下來的n行中,每行有n個整數cij 表示第i個人做第j件工作產生的效益為cij 兩行分別輸出最...
洛谷P4014 分配問題(費用流)
傳送門 可以把原圖看做乙個二分圖,人在左邊,任務在右邊,求乙個帶權的最大和最小完美匹配 然而我並不會二分圖做法,所以只好直接用費用流套進去,求乙個最小費用最大流和最大費用最大流即可 1 minamoto 2 include3 include4 include5 include6 define inf...
洛谷P4014 分配問題 費用流
有 nn 件工作要分配給 nn 個人做。第 ii 個人做第 jj 件工作產生的效益為 c cij 試設計乙個將 nn 件工作分配給 nn 個人做的分配方案,使產生的總效益最大。輸入格式 檔案的第 11 行有 11 個正整數 nn 表示有 nn 件工作要分配給 nn 個人做。接下來的 nn 行中,每行...