題目:設某一機器由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 ...