动态规划_数字三角形
生活随笔
收集整理的這篇文章主要介紹了
动态规划_数字三角形
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
問題描述:在下面的數字三角形中尋找一條從頂部到底邊的路徑,使得路徑上所經過的數字之和最大,路徑上的每一步都只能往左下或右下走。只需要求出這個最大和即可,不必給出具體路徑。
輸入數據的要求:三角形的行數大于1小于等于100,數字為0——99.
輸入格式:
5 //三角形的行數,下面是三角形
7
3 8
8 1 0
2 7 4 4
4 5 2 6 5
#include <iostream> using namespace std;const int N = 101; int a[N][N], n;int main() {cin >> n;for (int i = 0; i<n; i++){for (int j = 0; j<=i; j++){cin >> a[i][j];}}for (int i = n-2; i>=0; i--){for (int j = 0; j<=i; j++){int x = a[i+1][j];if (x < a[i+1][j+1])x = a[i+1][j+1];a[i][j] = a[i][j] + x;}}cout << a[0][0]<< endl;return 0; }轉載于:https://www.cnblogs.com/Tovi/p/6194872.html
總結
以上是生活随笔為你收集整理的动态规划_数字三角形的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php数据库操作命令精华大全
- 下一篇: CUDA编程之CMAKE