DP数字三角形
程序员文章站
2022-07-12 21:34:32
...
数字三角形
- 递推关系如下
trace = triangle[n];
for(int i = n-1; i >= 1; i--)
for(int j = 1;j <= i; j++)
trace[j] = minnum(trace[j], trace[j+1]) + triangle[i][j];
#include<iostream>
using namespace std;
int minnum(int x, int y);
int main() {
int n;
cin>>n;
int triangle[10][10];
int *trace;
for(int i = 1; i <= n; i++) {
for(int j = 1; j <= i; j++) {
cin>>triangle[i][j];
}
}
trace = triangle[n];
for(int i = n-1; i >= 1; i--)
for(int j = 1;j <= i; j++)
trace[j] = minnum(trace[j], trace[j+1]) + triangle[i][j];
cout<<trace[1]<<endl;
return 0;
}
int minnum(int x, int y) {
return (x>y ? y : x);
}
上一篇: 我的并行编程07 mpi并行归并算法
下一篇: 不等式