zoukankan      html  css  js  c++  java
  • P1216数字三角形 Number Triangles

    菜题 P1216数字三角形 Number Triangles

    简介

    很简单的一道dp练手题,,,
    他不是简不简单的问题,

    他真的是那种,很少见的那种

    题目(from 洛谷)

    题目描述
    观察下面的数字金字塔。

    写一个程序来查找从最高点到底部任意处结束的路径,使路径经过数字的和最大。每一步可以走到左下方的点也可以到达右下方的点。
    7
    3 8
    8 1 0
    2 7 4 4
    4 5 2 6 5

    上思路

    ** 显 然 **
    状态转移:

    f[i][j]=max(f[i+1][j],f[i+1][j+1])+a[i][j]
    

    f即为到达i j格用最短长度 a即为每格子中数值
    注意递推的顺序

    上代码

    #include <bits/stdc++.h>
    #define N 1010
    using namespace std;
    int a[N][N],f[N][N],x;
    int main(){
    	cin>>x;
    	for(int i=1;i<=x;i++)
    		for(int j=1;j<=i;j++)
    			cin>>a[i][j];
    	for(int i=x;i>=1;i--){
    		for(int j=i;j>=1;j--){
    			f[i][j]=max(f[i+1][j],f[i+1][j+1])+a[i][j];
    		}
    	}
    	cout<<f[1][1]<<endl;
    	return 0;
    }
    
  • 相关阅读:
    [Swift]LeetCode900. RLE 迭代器 | RLE Iterator
    TNS-12508 When Issuing Any SET Command For The Listene
    shell getopts
    archive log full ora-00257
    php 验证码
    php 缩略图
    弧度
    php输出中文字符
    流程图
    windows clone 迁移数据库
  • 原文地址:https://www.cnblogs.com/tushukai/p/14002604.html
Copyright © 2011-2022 走看看