数字三角形
2016-03-04 19:43
246 查看
问题描述
(图3.1-1)示出了一个数字三角形。 请编一个程序计算从顶至底的某处的一条路
径,使该路径所经过的数字的总和最大。
●每一步可沿左斜线向下或右斜线向下走;
●1<三角形行数≤100;
●三角形中的数字为整数0,1,…99;
.
(图3.1-1)
输入格式
文件中首先读到的是三角形的行数。
接下来描述整个三角形
输出格式
最大总和(整数)
样例输入
5
7
3 8
8 1 0
2 7 4 4
4 5 2 6 5
样例输出
30
思想:
(图3.1-1)示出了一个数字三角形。 请编一个程序计算从顶至底的某处的一条路
径,使该路径所经过的数字的总和最大。
●每一步可沿左斜线向下或右斜线向下走;
●1<三角形行数≤100;
●三角形中的数字为整数0,1,…99;
.
(图3.1-1)
输入格式
文件中首先读到的是三角形的行数。
接下来描述整个三角形
输出格式
最大总和(整数)
样例输入
5
7
3 8
8 1 0
2 7 4 4
4 5 2 6 5
样例输出
30
思想:
#include<stdio.h> #define N 1001 int a ,b ; int main() { int i,j,n; scanf("%d",&n); for(i=1;i<=n;i++){ for(j=1;j<=i;j++){ scanf("%d",&a[i][j]); } } for(j=1;j<=n;j++) b [j]=a [j]; for(i=n-1;i>=1;i--) { for(j=1;j<=i;j++) { if(b[i+1][j+1]>b[i+1][j]) b[i][j]=b[i+1][j+1]+a[i][j]; else b[i][j]=b[i+1][j]+a[i][j]; } } printf("%d\n",b[1][1]); return 0; }
相关文章推荐
- 简单工厂模式的强大之处
- cookie 当天12点 过期
- placeholder兼容性问题
- 将DHT11移植到Linux系统上
- pb程序在64位操作系统上使用Instant Client 连接oracle数据库
- 支持向量机(SVM)算法
- hdoj 2056 Rectangles 【求矩形面积】
- NodeJS、NPM安装配置与测试步骤(windows版本)
- Codeforces Round #344 (Div. 2) C. Report 其他
- 《Linux内核分析》第二周学习笔记
- USACO 之 Section 1.4 More Search Techniques (已解决)
- 【Android】第18章 位置服务和手机定位—本章示例主界面
- 1013. Battle Over Cities (25)
- 第四届蓝桥杯 软件类省赛真题 第九题:买不到的数目
- Android学习笔记day12
- webview清理缓存
- codevs 1183 泥泞的道路 01分数规划
- 连通分量模板:tarjan: 求割点 && 桥 && 缩点 && 强连通分量 && 双连通分量 && LCA(近期公共祖先)
- poj 1930 Dead Fraction 混循环小数化分数 数论
- Android之Lollipop DevicePolicyManager学习(上)