如圖所示為乙個數塔,從頂部出發在每乙個節點可以選擇向左走或向右走,一直走到最底層,要求找出一條路徑,使路徑上的數值和最大。
#include #define n 50
int data[n][n],d[n][n];//定義陣列data,d
int n;
void operate()
for (i=n-1;i>=1;i--)
else
}}}//這個實際上是把基礎陣列data轉化為運算元組d,最後一行一樣,從倒數第二行到第一行,d陣列是data陣列的最優陣列!
void path()
printf("-->%d",data[i][k]);
}}//這個是顯示資料實際走的方向以及資料!通過d[i][j]-data[i][j]找到下面實際的資料
void main()
}//輸入基礎陣列data
operate();
printf("路徑最大和為=%d\n",d[1][1]);
path();
}
動態規劃 塔數
有如下所示的數塔,要求從頂層走到底層,若每一步只能走到相鄰的結點,則經過的結點的數字之和最大是多少?輸入資料首先包括乙個整數c,表示測試例項的個數,每個測試例項的第一行是乙個整數n 1 n 100 表示數塔的高度,接下來用n行數字表示數塔,其中第i行有個i個整數,且所有的整數均在區間 0,99 內。...
數塔 動態規劃)
在講述dp演算法的時候,乙個經典的例子就是數塔問題,它是這樣描述的 有如下所示的數塔,要求從頂層走到底層,若每一步只能走到相鄰的結點,則經過的結點的數字之和最大是多少?已經告訴你了,這是個dp的題目,你能ac嗎?input 輸入資料首先包括乙個整數c,表示測試例項的個數,每個測試例項的第一行是乙個整...
動態規劃 數塔
在講述dp演算法的時候,乙個經典的例子就是數塔問題,它是這樣描述的 有如下所示的數塔,要求從頂層走到底層,若每一步只能走到相鄰的結點,則經過的結點的數字之和最大是多少?已經告訴你了,這是個dp的題目,你能ac嗎?input 輸入資料首先包括乙個整數c,表示測試例項的個數,每個測試例項的第一行是乙個整...