动态规划之数字三角形
2015-08-19 15:28
351 查看
题目大意:
有一个由非负整数组成的三角形,第一行只有一个数,除了最下行之外每个数的左下方和右下方各有一个数,如图
1
3 2
4 10 1
4 3 2 20
从第一行的数开始,每次可以往左下或右下走一格,直到走到最下行,把沿途经过的数全部加起来,如何走才能使得这个和尽量大、
有一个由非负整数组成的三角形,第一行只有一个数,除了最下行之外每个数的左下方和右下方各有一个数,如图
1
3 2
4 10 1
4 3 2 20
从第一行的数开始,每次可以往左下或右下走一格,直到走到最下行,把沿途经过的数全部加起来,如何走才能使得这个和尽量大、
#include <cstdio> #include <iostream> using namespace std; const int MAX = 1001; int data[MAX][MAX]; int main(int argc, char** argv) { int tc, T; //freopen("sample_input.txt", "r", stdin); cin >> T; int row; for (tc = 0; tc < T; tc++) { cin >> row; for (int i = 0; i < row; i++) { for (int j = 0; j <= i; j++) { cin >> data[i][j]; } } for (int i = row - 2; i >= 0; i--) { for (int j = 0; j <= i; j++) { data[i][j] += data[i + 1][j] > data[i + 1][j + 1] ? data[i + 1][j] : data[i + 1][j + 1]; } } cout << data[0][0]<<endl; } return 0;//Your program should return 0 on normal termination. }
相关文章推荐
- 浙江大学PAT_甲级_1081. Rational Sum (20)
- Monkey log分析说明
- BPM那些事儿——开源BPM引擎
- 透明度半分比对十六进制
- 19 个 Android 开发工具
- 桌面支持--安装针式打印机EPSON 300
- UITextField UITextView隐藏键盘的方法
- ZOJ 3704 I am Nexus Master!
- 事件——JavaScript高级程序设计笔记(10)
- iOS 在UILabel显示不同的字体和颜色
- iOS打包静态库
- 桌面支持--针式打印机端口选择
- 线段树问题
- MySQL检查运行的mysqld服务器是否支持OpenSSL
- 编写高质量代码改善C#程序的157个建议——建议75:警惕线程不会立即启动
- jQuery.extend 函数详解
- 修改C中const修饰的变量
- UVA 10300-Ecological Premium
- 使用spring @Scheduled注解执行定时任务、
- 桌面支持--设定和更改打印机驱动程序端口的步骤