poj1163——The Triangle
来源:互联网 发布:淘宝1cd出坐骑 编辑:程序博客网 时间:2024/05/29 14:56
原题:
Description
73 88 1 02 7 4 44 5 2 6 5(Figure 1)
Input
Your program is to read from standard input. The first line contains one integer N: the number of rows in the triangle. The following N lines describe the data of the triangle. The number of rows in the triangle is > 1 but <= 100. The numbers in the triangle, all integers, are between 0 and 99.
Output
Your program is to write to standard output. The highest sum is written as an integer.
Sample Input
573 88 1 0 2 7 4 44 5 2 6 5
Sample Output
30
分析:
动态规划初涉~
源码:
#include<string.h>#include<stdio.h>#define N 200int d[N][N];int n;int a[N][N];int p(int r,int j){ if(r==n) return d[r][j]; if(a[r+1][j]==0)//如果p(r+1,j)没有计算过 a[r+1][j]=p(r+1,j); if(a[r+1][j+1]==0)//如果p(r+1,j+1)没有计算过 a[r+1][j+1]=p(r+1,j+1); if(a[r+1][j]>a[r+1][j+1]) return a[r+1][j]+d[r][j]; else return a[r+1][j+1]+d[r][j];//可以省去else?}int main(){ int m; scanf("%d",&n); //将a全部置成0;表示开始所有的a(r,j)都没有算过 memset(a,0,sizeof(a)); for(int i=1; i<=n; i++) { for(int j=1; j<=i; j++) { scanf("%d",&d[i][j]); } } printf("%d",p(1,1)); return 0;}
附:未优化(递归)代码——
#include<string.h>#include<stdio.h>#define N 200int d[N][N];int n;int p(int r,int k){ if(r==n) return d[r][k]; if(p(r+1,k)>p(r+1,k+1)) return p(r+1,k)+d[r][k]; else return p(r+1,k+1)+d[r][k];}int main(){ int m; scanf("%d",&n); for(int i=1; i<=n; i++) { for(int j=1; j<=i; j++) { scanf("%d",&d[i][j]); } } printf("%d",p(1,1)); return 0;}
- poj1163——The Triangle
- poj1163——The Triangle(简单dp)
- POJ1163 The Triangle
- POJ1163:The Triangle
- POJ1163 The Triangle
- POJ1163 The Triangle 【DP】
- POJ1163 The Triangle
- POJ1163 The Triangle
- POJ1163 The Triangle
- POJ1163 The Triangle
- poj1163 the triangle 题解
- POJ1163 The Triangle
- POJ1163 The Triangle 题解
- POJ1163 The Triangle
- poj1163 dp the triangle
- POJ1163 The Triangle
- poj1163 The Triangle
- poj1163 The Triangle
- 添加xmlns:android="http://schemas.android.com/apk/res/android"的意思
- URI在Intent中的应用,打开网页,拨号,信息等
- 直播电视HLS协议分析及实现2---协议实例分析
- 正则表达式30分钟入门教程(一)
- java-web-书籍推荐
- poj1163——The Triangle
- Release版本下SetItem的错误
- Quicksum(字符串基础)
- HEVC中的SAO 5 saoComponentParamDist
- [IOS 按钮]--“相机闪光灯”控制按钮样式 DDExpandableButton
- Jquery简单实现图书导航
- android开发(22)使用正则表达式 。从一个字符串中找出数字,多次匹配。
- linux tar加压、解压命令
- 小型英汉词典(黑白界面下的)使用了二叉搜索树C++