動態規劃求解數字數字三角形
#include"stdafx.h"
#include<iostream>
#include<stdio.h>
#include<string.h>
using namespace std;
#define N 100
int MAXSUM(int a[][N], int n, int x[])
{
int i, j, t;
for (i = n - 1; i >= 1; i--) { //從最底層開始尋找
for (j = 1; j <= i; j++) { //每行遍歷
if (a[i + 1][j]>a[i + 1][j + 1]) { //左邊分支大
a[i][j] += a[i + 1][j];
t = a[i + 1][j]; //用於記錄路徑
}
else { //右邊分支大
a[i][j] += a[i + 1][j + 1];
t = a[i + 1][j + 1]; //用於記錄路徑
}
}
x[i] = t;
}
return a[1][1]; //一直累加到頂端
}
void main()
{
int i, j, n, first;
int a[N][N], x[N];
printf("需要輸入多少層的三角形?\n");
cin >> n;
printf("開始輸入數字三角形資料:\n");
for (i = 1; i <= n; i++) {
for (j = 1; j <= i; j++) {
cin >> a[i][j];
}
}
first = a[1][1];
printf("第一層到最後一條路經過的權值最大值為: %d\n", MAXSUM(a, n, x));
printf("所經過的路徑是:\n");
printf("%d->", first);
for (i = 1; i <= n - 2; i++) {
printf("%d->", x[i] - x[i + 1]);
}
printf("%d\n", x[n - 1]);
getchar();
}
執行結果如下:
相關文章
- 動態規劃之數的劃分動態規劃
- JavaScript 動態數字時鐘JavaScript
- jQuery 動態數字顯示jQuery
- c++ 動態規劃(數塔)C++動態規劃
- 整數劃分問題(動態規劃)動態規劃
- 動態規劃之最長公共子序列求解動態規劃
- 醜數問題——動態規劃、Java動態規劃Java
- 運籌優化(十)--整數規劃求解優化
- Cplex混合整數規劃求解(Python API)PythonAPI
- 物業行業數字化整體規劃行業
- “數字資產創新探索計劃”上線 “數元”多模態數字資源綜合平臺
- 動態規劃-硬幣組合數目動態規劃
- 【動態規劃】求最大連續bit數動態規劃
- 強化學習(三)用動態規劃(DP)求解強化學習動態規劃
- 動態規劃求解最長上升子序列問題動態規劃
- 動態顯示:文字框字數(輸入還剩多少字)
- Python函式/動態引數/關鍵字引數Python函式
- 演算法提高 數的劃分 動態規劃 無序演算法動態規劃
- 洛谷題單指南-動態規劃1-P1216 [USACO1.5] [IOI1994]數字三角形 Number Triangles動態規劃
- 常用演算法思想之動態規劃的字尾思想演算法動態規劃
- LeetCode 343. 整數拆分--動態規劃LeetCode動態規劃
- 物業行業增值服務條線數字化規劃行業
- 物業行業財務數字化共享建設規劃行業
- Word文件字數實時動態統計(轉)
- JS只能輸入數字,數字和字母等的正規表示式JS
- LeetCode刷題進階之有多少小於當前數字的數字(1365)(暴力求解)LeetCode
- 動態規劃此一篇就夠了 萬字總結!動態規劃
- 【動態規劃(一)】動態規劃基礎動態規劃
- 動態規劃求解矩陣累計和最大的路徑動態規劃矩陣
- java 動態規劃(三角形最短路徑和)Java動態規劃
- 規定字串由字母、數字、下劃線和點號組成字串
- 動態規劃之經典數學期望和概率DP動態規劃
- 演算法——動態規劃篇——斐波那契數演算法動態規劃
- 數字遊戲策劃學習筆記遊戲筆記
- 給定數字生成中文數字(MySQL)MySql
- 缺失的數字;及找數字分析
- 動態規劃動態規劃
- Oracle動態、靜態引數引數修改規則Oracle