#include#include#include#include#include#include#include#include#include using namespace std;
int main()
; int sum=0;
for(int i=0;i<=n;i++)
sum+=a[i];
//定義記憶體
int **p=new int*[n+1];
for(int i=0;i<=n;i++)
//初始化
for(int row=0;row<=n;row++)
for(int col=0;col<=sum;col++)
p[row][col]=-1;
p[0][0]=0;
for(int k=1;k<=n;k++)//考慮到第k個,並非表示一共k個
}} //列印出dp形成的二維陣列
for(int col=0;col<=sum;col++)
//找路徑,列印出 num個資料 形成的和為sss的資料
int sss=8;
int num=3;
if(p[num][sss]==-1)
while(num)//只考慮了有解的情況
system("pause");
return 0;
}
程式設計之美 陣列分割
問題1 有乙個無序 元素個數為n的正整數陣列,要求 如何能把這個陣列分割為兩個子陣列,子陣列的元素個數不限,並使兩個子陣列之和最接近。解答 int sum 0 for i 0 i0 j 從最大的開始遍歷,是為了防止同乙個數選取多次 for j sum 2 j if dp j break return...
程式設計之美 陣列分割
程式設計之美 陣列分割 和擴充套件 將乙個陣列劃分成兩個子陣列,要求他們的和最接近 1.長度要求相等的情況 2.長度沒有要求的情況 都能用動態規劃解決 include includeusing namespace std void arraysplit1 int a,int n 兩個子陣列長度要求相...
程式設計之美 陣列分割
問題 有乙個沒有排序,有2n個元素的陣列,要求把這個陣列分為兩部分,分別含有n個元素,並使兩個子陣列的和最接近。這裡的程式主要是計算這個和的值。比如陣列 計算後符合的分法是 和算出比較小的就可以了是 110 例如陣列 分開後是 和 思考方法 動態規劃 1 計算出陣列中所有元素的和,並把它除以2,這樣...