time limit: 10 second
memory limit: 2 mb
問題描述
設有n 件工作分配給n 個人。將工作i 分配給第j 個人所需的費用為cij。試設計乙個演算法,為每乙個人都分配1 件不同的工作,並使總費用達到最小 。
程式設計任務 :設計乙個演算法,對於給定的工作費用,計算最佳工作分配方案,使總費用達到最小 。
第一行是1 個正整數n (1 ≤n ≤20),表示有n 件工作分配給n 個人,接下來的n 行,每行n 個數,表示工作費用 。
輸出有m行,每行輸出最小總費用。
34 2 5
2 3 6
3 4 5
9【題解】
以人為搜尋物件乙個人乙個人地搜。用乙個bool型的bo陣列來表示某個工作是否有被占用。用sum來累加當前的花費。可以用sum和min的值的比較來剪枝,即sum > min就剪掉。
【**】
#include int n,c[21][21],min = 2100000000,sum = 0;
bool bo[21];
void input_data()
void sear_ch(int x)
for (int i = 1;i <= n;i++) //為x分配工作
if (bo[i])
}void get_ans()
void output_ans()
int main()
9503 工作分配問題
time limit 10 second memory limit 2 mb 問題描述 設有n 件工作分配給n 個人。將工作i 分配給第j 個人所需的費用為cij。試設計乙個演算法,為每乙個人都分配1 件不同的工作,並使總費用達到最小 程式設計任務 設計乙個演算法,對於給定的工作費用,計算最佳工作分...
工作分配問題
問題 設有n件工作分配給n個人,將工作i分配給第j個人所需的菲傭為cij,試設計乙個演算法,為每乙個人分配一件不同的工作,並使總費用達到最小。輸入 第一行有乙個正整數n,接下來n行,每行n個數,表示工作費用。輸入 最小總費用 例子 輸入 3 10 2 3 2 3 4 3 4 5 輸出 9 inclu...
工作分配問題
時間限制 1 sec 記憶體限制 128 mb 提交 10 解決 7 您該題的狀態 已完成 提交 狀態 討論版 設有n件工作分配給n個人,將工作i分配給第j個人費用為cij,為每個人分配一件不同的工作,對於給定的工作費用,計算最佳工作分配方案,使得中費用達到最小。第一行有1個正整數 1 n 20 接...