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.把...