回溯法求解最小機器重量設計問題

2021-10-06 07:54:29 字數 1250 閱讀 9693

題目:設某一機器由n個部件組成,部件編號為1n,每一種部件都可以從m個不同的**商處購得,**商編號為1m。設wij是從**商j處購得的部件i的重量,cij是相應的**。對於給定的機器部件重量和機器部件**,計算總**不超過d的最小重量機器設計。(注意:輸出結果中第一行最後沒有空格。比如下面的輸出樣例中1 3 1後面沒有空格。)

輸入格式:

第1行輸入3個正整數n,m和d。接下來n行輸入wij(每行m個整數),最後n行輸入cij(每行m個整數),這裡1≤n、m≤100。

輸出格式:

輸出的第1行包括n個整數,表示每個對應的**商編號,第2行為對應的最小重量。

輸入樣例:

3 3 7

1 2 3

3 2 1

2 3 2

1 2 3

5 4 2

2 1 2

輸出樣例:

1 3 1

4

#include

using

namespace std;

#define max 100

//部件重量

int w[max]

[max]

;//部件價值

int c[max]

[max]

;//部件個數

int n;

//**商個數

int m;

//最小的總價值

int d;

//零件**商編號

int answers[max]

;//最小的重量

int minw = int_max;

//臨時存放**商編號

int x[max]

;void

input()

}for

(int i =

0; i < n; i++)}

}/*@param i:第i個零件(從i=0開始)

@param currw:當前零件的總重量

@param currv:當前零件的總價值

*/void

getminvalue

(int i,

int currw,

int currv)

}else}}

}int

main()

else

} cout << minw;

system

("pause");

return0;

}

回溯法 求解最小機器重量問題 C 演算法

題目內容 設某一機器由n個部件組成,部件編號為1 n,每一種部件都可以從m個不同的 商處購得,商編號為1 m。設wij是從 商j處購得的部件i的重量,cij是相應的 對於給定的機器部件重量和機器部件 計算總 不超過d的最小重量機器設計。注意 輸出結果中第一行最後沒有空格。比如下面的輸出樣例中1 3 ...

回溯法解決最小機器重量問題

1.問題描述 設某一機器由n個部件組成,每一種部件都可以從m個不同的 商處購得。設 w ij是從 商j 處購得的部件i的重量,c ij是相應的 試設計乙個回溯演算法,對於給定的機器部件重量和機器部件 計算總 不超過c的最小重量機器設計。2.解題思路 3.演算法設計 回溯法要求要給出約束條件,很明顯 ...

最小重量機器設計問題 回溯法)

include include using namespace std define maxn 1000 int n 部件個數 int m 供貨商個數 int max c 最大 int w maxn maxn int c maxn maxn 費用 int cc 當前 int cw 當前重量 int ...