数字三角形问题

来源:互联网 发布:gps测绘仪器价格 知乎 编辑:程序博客网 时间:2024/05/16 04:46
给定一个由n行数字组成的数字三角形,设计一个算法,计算出从三角形的顶至底的一条路径,使该路径经过的数字总和最大。
测试用例:
5(行数)
7
3 8
8 1 0
2 7 4 4
4 5 2 6 5
输出:

30

#include<stdio.h>#define n 5int main(){int a[n][n] = {{7},{3,8},{8,1,0},{2,7,4,4},{4,5,2,6,5}};int i,j;int p,q;int t;for(i = n - 2;i >= 0;i --){for(j = 0;j <= i;j ++){p = a[i][j] + a[i + 1][j];q = a[i][j] + a[i + 1][j + 1];t = p > q ? p : q;a[i][j] = t;}}printf("the max is %d.",a[0][0]);return 0;} 


0 0
原创粉丝点击