添柴12146數字金字塔

2021-08-19 17:21:18 字數 1004 閱讀 7737

1.5-1數字金字塔

詳情:觀察下面的數字金字塔。

寫乙個程式來查詢從最高點到底部任意處結束的路徑,使路徑經過數字的和最大。每一步可以走到左下方的點也可以到達右下方的點。

7

3   8

8   1   0

2   7   4   4

4   5   2   6   5

這題我一樣用三種方式:普通dfs,記憶化dfs,和動態規劃

1.普通dfs:

#include #include using namespace std;

int a[1001][1001]=,n,cnt;

int dfs(int x,int y)

return max(dfs(x+1,y),dfs(x+1,y+1))+a[x][y];//上面+右上角

}int main()

} printf("%d",dfs(1,1));

return 0;

}

2.記憶化dfs

#include #include using namespace std;

int a[1001][1001]=,n,cnt,f[1001][1001]=;

int dfs(int x,int y)

return f[x][y];返回值

}int main() }

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

f[n][i]=a[n][i];

printf("%d",dfs(1,1));

return 0;

}

3.動態規劃:

#include int main()

}for(j=1;j<=n;j++)

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

else}}

printf("%d",a[1][1]);

return 0;

}

字母金字塔(類同數字金字塔)

問題描述 讓程式要求使用者輸入乙個大寫字母,使用巢狀迴圈產生像下面這樣的金字塔圖案 aaba abcba abcdba abcdecba 演算法分析 每行包括三個部分內容 若干個空格 正序排列的字母 倒序排列的字幕。使用乙個外部迴圈來處理行,在每乙個行中使用三個內部迴圈 乙個處理空格,乙個以公升序列...

數字金字塔

觀察下面的數字金字塔。寫乙個程式來查詢從最高點到底部任意處結束的路徑,使路徑經過數字的和最大。每一步可以走到左下方的點也可以到達右下方的點。7 3 8 8 1 0 2 7 4 4 4 5 2 6 5在上面的樣例中,從7 到 3 到 8 到 7 到 5 的路徑產生了最大 多組輸入資料 第乙個行包含 r...

數字金字塔

題目 題目描述 觀察下面的數字金字塔。寫乙個程式來查詢從最高點到底部任意處結束的路徑,使路徑經過數字的和最大。每一步可以走到左下方的點也可以到達右下方的點。7 3 8 8 1 0 2 7 4 4 4 5 2 6 5 在上面的樣例中,從7 到 3 到 8 到 7 到 5 的路徑產生了最大 輸入輸出格式...