time limit: 1000 ms memory limit: 65536 kib
設有n件工作分配給n個人。將工作i分配給第j個人所需的費用為 cij。試設計乙個演算法,為每乙個人都分配1 件不同的工作,並使總費用達到最小。
設計乙個演算法,對於給定的工作費用,計算最佳工作分配方案,使總費用達到最小。
輸入資料的第一行有1 個正整數n (1≤n≤20)。接下來的n行,每行n個數,表示工作費用。
將計算出的最小總費用輸出。
310 2 3
2 3 4
3 4 5
這個題在網上看來很多**,其中**比較短,同時給了詳細解釋的還是這位博主
#include
#include
using
namespace std;
int c[
100]
[100];
int minnum=
999999
;int n,numer=0;
bool statu[
100]
;void
dfs(
int i)}}
intmain()
演算法習題 工作分配問題
有n件工作分配給n個人。將工作i分配給第j個人所需的費用為cij 設計乙個演算法,對於給定的工作費用,為每乙個人都分配1 件不同的工作,並使總費用達到最小。使用回溯法排列樹找到每乙個解向量x,其中i代表第i個工人,x i 代表第i個工人分配的工作。這樣在每次找到乙個解向量後,就可以計算出其費用,然後...
演算法分析之工作分配問題
acm中的工作分配問題是乙個典型的回溯問題,利用回溯思想能很準確地得到問題的解。下面就這個問題好好分析下。問題描述 設有n件工作分配給n個人。為第i個人分配工作j所需的費用為c i j 試設計乙個演算法,計算最佳工作分配方案,為每乙個人都分配1 件不同的工作,並使總費用達到最小。解題思路 由於每個人...
工作分配問題
問題 設有n件工作分配給n個人,將工作i分配給第j個人所需的菲傭為cij,試設計乙個演算法,為每乙個人分配一件不同的工作,並使總費用達到最小。輸入 第一行有乙個正整數n,接下來n行,每行n個數,表示工作費用。輸入 最小總費用 例子 輸入 3 10 2 3 2 3 4 3 4 5 輸出 9 inclu...