USCAO-Section 1.5 Number Triangles
来源:互联网 发布:java多分支语句有哪些 编辑:程序博客网 时间:2024/06/07 16:32
原题:
Consider the number triangle shown below. Write a program that calculates the highest sum of numbers that can be passed on a route that starts at the top and ends somewhere on the base. Each step can go either diagonally down to the left or diagonally down to the right.
7
3 8
8 1 0
2 7 4 4
4 5 2 6 5
In the sample above, the route from 7 to 3 to 8 to 7 to 5 produces the highest sum: 30.
题意:
三角矩阵,从顶部往下走,只能往正下方或右下方走,求那条路径上的数字和最大。经典dp;
反过来从下往上走,求上一步从两个方向哪一个方向走过来获得的值大并与自身相加保存在自己这个位置上。
a[i][j]=a[i][j]+max(a[i+1][j],a[i+1][j+1]);
代码:
/*ID:newyear111PROG: numtriLANG: C++*/#include <iostream>#include <fstream>#include <string>#include<algorithm>using namespace std;const int N=1005;int n;int a[N][N];int main(){ ifstream fin("numtri.in"); ofstream fout("numtri.out"); fin>>n; int i,j; for(i=0;i<n;i++){ for(j=0;j<=i;j++){ fin>>a[i][j]; } } for(i=n-2;i>=0;i--){ for(j=0;j<=i;j++){ a[i][j]=a[i][j]+max(a[i+1][j],a[i+1][j+1]); } } fout<<a[0][0]<<endl; fin.close(); fout.close(); return 0;}
阅读全文
0 0
- USCAO-Section 1.5 Number Triangles
- USCAO section 1.4 Number Triangles(DP)
- Section 1.5 Number Triangles
- USACO Section 1.5 Number Triangles
- USACO Section 1.5 Number Triangles
- USACO Section 1.5 Number Triangles
- USACO section 1.5.1 Number Triangles
- USACO-Section 1.5 Number Triangles(DP)
- USACO-Section 1.5 Number Triangles[贪心]
- USCAO section 1.2 Name That Number
- USCAO-Section 1.2 Name That Number
- USACO Section 1.5 Number Triangles - 最最简单最最经典的DP..
- 1.5.1 Number Triangles
- 1.5.1---Number Triangles
- USACO 1.5 Number Triangles
- USACO 1.5-Number Triangles
- USACO 1.5 Number Triangles
- USCAO section 1.1 Transformations
- Linux学习总结(五)
- MVC过滤器详解
- The Dataflow Model(一):摘要、介绍
- 关于android 内置数据库文件访问
- ASP.NET MVC 利用IRouteHandler, IHttpHandler实现图片防盗链
- USCAO-Section 1.5 Number Triangles
- H
- 什么是Segmentation fault(Core Dump)?
- 正则表达式的简单实例
- Linux_线程
- php设计模式之简单工厂
- 图书管理系统1
- Entity Framework的启动速度优化
- mysql中出现中文乱码的解决