9503 工作分配問題

2021-09-28 10:07:29 字數 781 閱讀 5428

time limit: 10 second

memory limit: 2 mb

問題描述

設有n 件工作分配給n 個人。將工作i 分配給第j 個人所需的費用為cij。試設計乙個演算法,為每乙個人都分配1 件不同的工作,並使總費用達到最小 。

程式設計任務 :設計乙個演算法,對於給定的工作費用,計算最佳工作分配方案,使總費用達到最小 。

第一行是1 個正整數n (1 ≤n ≤20),表示有n 件工作分配給n 個人,接下來的n 行,每行n 個數,表示工作費用 。

輸出有m行,每行輸出最小總費用。

3

4 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 接...