5 2 工作分配問題 30分

2021-10-11 12:45:29 字數 752 閱讀 1931

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

輸入格式:

輸入資料的第一行有1 個正整數n (1≤n≤20)。接下來的n行,每行n個數,表示工作費用。

輸出格式:

將計算出的最小總費用輸出到螢幕。

輸入樣例:

在這裡給出一組輸入。例如:

310 2 3

2 3 4

3 4 5

輸出樣例:

在這裡給出相應的輸出。例如:

#include

using

namespace std;

int n;

//n件工作,n個人

int c[30]

[30];

// 將工作i分配給第j個人所需的費用為cij

int cc;

//當前費用

int bestx=

1000000

;//當前最小費用

int x[30]

;//工作與人

void

backtrack

(int t)

return;}

for(

int k=

1;k<=n;k++)}

}int

main()

}backtrack(1

); cout<}

5 2 工作分配問題

解決工作分配問題 有n份作業分配給n個人去完成,每人完成乙份作業。假定第i個人完成第j份作業需要花費cij時間,cij 0,1 i,j n。試設計乙個回溯演算法,將n份作業分配給n個人完成,使得總花費時間最短。首先,計算工人和任務的所有組合方式,然後對於每一種組合方式,挑選出時間最短的一種,這裡呼叫...

工作分配問題

問題 設有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 接...