DP 數字三角形 找錢問題

2021-07-25 03:24:51 字數 1131 閱讀 1006

thinking:

找錢問題:最少張,從小面額開始找,如果遇到乙個張面額可以整mod或者此時錢總和-該面額存在,那麼取這個面額,dp思想。

數字三角形**:

#include #define maxn 999

int map1[maxn][maxn];

int map2[maxn][maxn];

int map3[maxn][maxn];

int walk1[maxn][maxn];

int walk2[maxn][maxn];

int main()

/*for(i=1;i<=n;i++)*/

for(i=n-1;i>=1;i--)else

if(map2[i+1][j]>map2[i+1][j+1])else}}

j=1;

for(i=1;i<=n;i++)

printf("\n");

printf("最短路徑為%d\n",map1[1][1]);

j=1;

for(i=1;i<=n;i++)

printf("\n");

printf("最長路徑為%d\n",map2[1][1]);

return 0;

}/*輸入樣例為:

8 //這個8表示有8行數字

1215 16

6 8 5

10 8 16 11

18 7 16 15 17

4 14 3 15 23 3

24 17 20 9 4 16 21

9 18 2 15 7 7 8 6

*/

找錢問題:

#include#define maxn 999

using namespace std;

int a[maxn];

int a1[maxn][maxn];

int a2[maxn][maxn];

int qq1[maxn];

int qq2[maxn];

int main()

else if(j-a[i]>0&&qq2[j-a[i]]){

qq2[j]=qq2[j-a[i]]+1;

for(k=0;k

dp 數字三角形問題

數字三角形問題 time limit 1000 ms memory limit 65536 kib problem description 給定乙個由n行數字組成的數字三角形如下圖所示。試設計乙個演算法,計算出從三角形的頂至底的一條路徑,使該路徑經過的數字總和最大。對於給定的由n行數字組成的數字三角...

數字三角形 DP

數字三角形 時間限制 10000ms 單點時限 1000ms 記憶體限制 256mb 問題描述 小hi和小ho在經歷了螃蟹先生的任務之後被獎勵了一次出國旅遊的機會,於是他們來到了大洋彼岸的美國。美國人民的生活非常有意思,經常會有形形色色 奇奇怪怪的活動舉辦,這不,小hi和小ho剛剛下飛機,就趕上了當...

(dp)數字三角形

數字三角形問題。有乙個由非負整數組成的三角形,第一行只有乙個數,除了最下行 之外每個數的左下方和右下方各有乙個數 從第一行的數開始,每次可以往左下或右下走一格,直到走到最下行,把沿途經過的數 全部加起來。如何走才能使得這個和盡量大?具體實現 中的d我們用maxsum表示 最初的位置我們用d存 1.把...