问题描述 给定一个由n行数字组成的数字三角形如下图所示。试设计一个算法,计算出从三角形的顶至底的一条路径,使该路径经过的数字总和最大。 对于给定的由n行数字组成的数字三角形,计算从三角形的顶至底
生活随笔
收集整理的這篇文章主要介紹了
问题描述 给定一个由n行数字组成的数字三角形如下图所示。试设计一个算法,计算出从三角形的顶至底的一条路径,使该路径经过的数字总和最大。 对于给定的由n行数字组成的数字三角形,计算从三角形的顶至底
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
問題描述
給定一個由n行數字組成的數字三角形如下圖所示。試設計一個算法,計算出從三角形的頂至底的一條路徑,使該路徑經過的數字總和最大。
對于給定的由n行數字組成的數字三角形,計算從三角形的頂至底的路徑經過的數字和的最大值。
輸入
輸入數據的第1行是數字三角形的行數n,1≤n≤100。接下來n行是數字三角形各行中的數字。所有數字在0…99之間。
輸出
輸出數據只有一個整數,表示計算出的最大值。
示例輸入
5
7
3 8
8 1 0
2 7 4 4
4 5 2 6 5
示例輸出
30
分析步驟——>傳送門
代碼展示
#include<bits/stdc++.h> using namespace std; int dp[110][110]; int main() {int n; cin>>n;for(int i = 0; i < n; i++) for(int j = 0; j <= i; j++) cin>>dp[i][j];for(int i = n-2; i >= 0; i--) {for(int j = 0; j <= i; j++) {dp[i][j] = max(dp[i][j]+dp[i+1][j], dp[i][j]+dp[i+1][j+1]);}}cout << dp[0][0];return 0; }總結
以上是生活随笔為你收集整理的问题描述 给定一个由n行数字组成的数字三角形如下图所示。试设计一个算法,计算出从三角形的顶至底的一条路径,使该路径经过的数字总和最大。 对于给定的由n行数字组成的数字三角形,计算从三角形的顶至底的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 问题描述: 在一个圆形操场的四周摆放着n
- 下一篇: 设有n 个程序{1,2,…, n }要存