数字三角形问题
来源:互联网 发布:ipad看电视最新软件 编辑:程序博客网 时间:2024/05/16 06:36
数字三角形问题
memory limit: 65536KB time limit: 300MS
accept: 62 submit: 146
Description
给定一个由n行数字组成的数字三角形如下图所示。试设计一个算法,计算出从三角形的顶至底的一条路径,使该路径经过的数字总和最大。
7
3 8
8 1 0
2 7 4 4
4 5 2 6 5
对于给定的由n行数字组成的数字三角形,计算从三角形的顶至底的路径经过的数字和的最大值。
Input
输入的第一行是数字三角形的行数n,1 <= n <= 600。接下来n行是数字三角形各行中的数字。所有数字在0..99之间。
Output
输出一个数:计算出的最大值。
Sample Input
5
7
3 8
8 1 0
2 7 4 4
4 5 2 6 5
Sample Output
#include<iostream>#include<stdio.h>#include<stdlib.h>#include<stdlib.h>usingnamespacestd ;int Data[605][605];int M[605][605];int main(){ intT = 0 ; scanf("%d",&T) ; intk = 1 ; inti = 1 ; intj = 1 ; memset(M,0,sizeof(M)); while(k<=T) { for(j=1;j<=k;j++) { scanf("%d",&Data[k][j]); //cout<<"\nData: i: "<<k<<" J:"<<j <<" "<<Data[k][j]<<" "; } k++; } for( i =T ; i >=1 ; i -- ) for(j =1 ; j <= i ; j++ ) { if( i ==T ) { M[i][j] = Data[i][j]; } else{ inta = M[i+1][j] +Data[i][j]; intb = M[i+1][j+1] +Data[i][j]; a>b ? M[i][j] = a : M[i][j] = b ; } // cout<<"\nM: i: "<<i<<" J:"<<j <<" "<<M[i][j]<<" "; } cout<<M[1][1]<<endl; return0 ;}
- 数字三角形问题
- 【dp】数字三角形问题
- 数字三角形问题求解
- 数字三角形问题
- 数字三角形问题
- 数字三角形问题
- 数字三角形问题
- 数字三角形问题
- 数字三角形问题
- DP_数字三角形问题
- 【算法】数字三角形问题
- 数字三角形问题
- 数字三角形问题
- 数字三角形问题
- 数字三角形问题
- 数字三角形问题
- 数字三角形问题
- SDUToj1730数字三角形问题
- 画布
- 工厂三姐妹——创建型设计模式之二
- 后台跑程序
- HDU2478(Slides)求四边形矩阵交
- IO三种方式:BIO,NIO,AIO (异步读写asynchronous IO)
- 数字三角形问题
- Android4.2 系统服务系列之窗口服务---初始化
- 银行系统3(功能又强大了哟 增加了些功能(例如改密码)还在优化中。)
- 验证码
- NIO trick and trap NIO的技巧与陷阱
- la4727
- java代码中把多个文件打包成zip文件
- linux中的jiffies变量
- NIO Selector