//有乙個國家發現了5座金礦,每座金礦的**儲量不同,需要參與挖掘的工人數也不同。
//參與挖礦工人的總數是10人。
//每座金礦要麼全挖,要麼不挖,不能派出一半人挖取一半金礦。
//要求用程式求解出,要想得到盡可能多的**,應該選擇挖取哪幾座金礦?
/*500金/5人 200/3 300/4 350/3 400/5
*/ /*
總容量:10人
可選量:5人
n=10,c=5;
表前i座金山占用j人所擁有的最大**
狀態轉移方程
1.j>wi
f(i,j)=f(i-1,j);
2.j<=wi
f(i,j)=max(f(i-1,j),f(i-1,j-wi)+vi);
*/#include#include#include#include#include#includeusing namespace std;
typedef struct node node;
node moun[6];
node orign[6];
int c=10,n=5;
bool cmp(node a,node b)
void copy()
}int main()else
} } //自頂向下 求最優解
int tmp=10;
int k=0;
for(int i=n;i>=1;i--)else
} //輸出最優質值
cout<<"輸出最優質值:"《結果:
輸出最優質值:
900輸出最優解:
第2座金山
第1座金山
動態規劃 金礦模型
問題描述 有people個人和 num個金礦,開採 每個金礦都需要i people個人,可以獲得i getgold個金子,並且用過的人不可以重複使用,問從這 num個金礦中最多可以得到多少個金子 輸入輸入第一行有兩個數,第乙個是用來開採金礦的總人數,第二個是總金礦數。輸入檔案的第2至n 1行每行有兩...
動態規劃 國王與金礦
題目 有乙個國家發現了5座金礦,每座金礦的 儲量不同,需要參與挖掘的工人數也不同。參與挖礦工人的總數是10人。每座金礦要麼全挖,要麼不挖,不能派出一半人挖取一半金礦。要求用程式求解出,要想得到盡可能多的 應該選擇挖取哪幾座金礦?遞迴實現public static void main string a...
動態規劃 求解金礦問題
題目描述 很久很久以前,有乙個國王擁有5座金礦,每座金礦的 儲量不同,需要參與挖掘的工人人數也不相同。例如 有的金礦儲存量是500kg 需要5個工人來挖 有的金礦儲存量是200kg 需要3個工人來挖 如果參與挖礦的工人總數是10,每座金礦要麼全挖,要麼不挖,不能派出一半人挖取一半的金礦,想要得到盡可...