tyvj1044数字三角形
2015-10-31 23:01
330 查看
背景
09年 USACO 11月月赛 铜牌第一道
描述
示出了一个数字三角形。 请编一个程序计算从顶至底的某处的一条路径,使该路径所经过的数字的总和最大。
每一步可沿左斜线向下或右斜线向下走;
1<三角形行数<25;
三角形中的数字为整数<1000;
输入格式
第一行为N,表示有N行
后面N行表示三角形每条路的路径权
输出格式
路径所经过的数字的总和最大的答案
测试样例1
输入
5
7
3 8
8 1 0
2 7 4 4
4 5 2 6 5
输出
30
09年 USACO 11月月赛 铜牌第一道
描述
示出了一个数字三角形。 请编一个程序计算从顶至底的某处的一条路径,使该路径所经过的数字的总和最大。
每一步可沿左斜线向下或右斜线向下走;
1<三角形行数<25;
三角形中的数字为整数<1000;
输入格式
第一行为N,表示有N行
后面N行表示三角形每条路的路径权
输出格式
路径所经过的数字的总和最大的答案
测试样例1
输入
5
7
3 8
8 1 0
2 7 4 4
4 5 2 6 5
输出
30
#include<iostream> using namespace std; int max(int x,int y) { if (x>y) return x; else return y; } int main() { int n,f[25][25],i,j,a[25][25]; cin>>n; for (i=1;i<=n;i++) for (j=1;j<=i;j++) cin>>a[i][j]; for (i=1;i<=n;i++) f [i]=a [i]; for (i=n-1;i>=1;i--) for (j=1;j<=i;j++) f[i][j]=max(f[i+1][j],f[i+1][j+1])+a[i][j]; cout<<f[1][1]; return 0; }
相关文章推荐
- LightOJ - 1060 nth Permutation(计数)
- 英语学习重要性
- wget 转
- java 发展简史
- hdu 4856 tunnel(bfs+状态压缩dp)
- CodeForces 589F Gourmet and Banquet(二分 + 最大流)
- LightOJ - 1110 An Easy LCS(LCS)
- Game(bc模拟题)
- codevs2597团伙
- Oracle实战——简介、安装与配置
- linux多线程编程--信号量和条件变量 唤醒丢失事件
- 编程能力与编程年龄
- C语言中断言ASSERT
- hdu 1049 Climbing Worm
- 常用设计模式之装饰模式
- 面试总结+网上查阅的智力题
- 广东省国家税务局增值税发票升级版应用级容灾系统建设项目-100万
- LightOJ - 1119 Pimp My Ride(状态压缩)
- 约瑟夫环递归求解
- 线程组threadgroup、线程池threadpool