zoukankan      html  css  js  c++  java
  • P1044

    P1044 - 数字三角形

    From Admin    Normal (OI)
    总时限:10s    内存限制:128MB    代码长度限制:64KB

    背景 Background

    09年 USACO 11月月赛  铜牌第一道

    描述 Description

    示出了一个数字三角形。 请编一个程序计算从顶至底的某处的一条路
    径,使该路径所经过的数字的总和最大。
      每一步可沿左斜线向下或右斜线向下走;
      1<三角形行数<25;
      三角形中的数字为整数<1000;

    输入格式 InputFormat

    第一行为N,表示有N行
    后面N行表示三角形每条路的路径权

    输出格式 OutputFormat

    路径所经过的数字的总和最大的答案

    样例输入 SampleInput [复制数据]

    573 88 1 02 7 4 44 5 2 6 5

    样例输出 SampleOutput [复制数据]

    30

    数据范围和注释 Hint

    搜索80分,记忆化搜索AC

    时间限制 TimeLimitation

    各个测试点1s


    动规。数字三角形,最简单的那种。

    虽然这道题很简单,但这是我做的动态规划的第一道题,第一次。
    也许在大多数人看来这题很水(确实很水),但是对于我来说,它是一个开始,对于动态规划。
    这么简单的,直接附代码吧:
     
     1 program p1044;
     2 
     3 var  n,x,y:integer;
     4 
     5  a:array[1..30,1..30,1..4]of integer;
     6 
     7 begin
     8 
     9  readln(n);
    10 
    11  for x:=1 to n do
    12 
    13   begin
    14 
    15   for y:=1 to  x do
    16 
    17     begin
    18 
    19      read(a[x,y,1]);
    20 
    21      a[x,y,2]:=a[x,y,1];
    22 
    23      a[x,y,3]:=0;
    24 
    25     end;
    26 
    27     readln;
    28 
    29     end;
    30 
    31  for x:=n-1 downto 1 do
    32 
    33   for y:=1 to n do
    34 
    35     if a[x+1,y,2]>a[x+1,y+1,2]
    36 
    37      then
    38 
    39              a[x,y,2]:=a[x,y,2]+a[x+1,y,2]
    40 
    41      else
    42 
    43             a[x,y,2]:=a[x,y,2]+a[x+1,y+1,2];
    44 
    45      writeln(a[1,1,2]);
    46 
    47 readln;
    48 
    49 readln;
    50 
    51 end.
  • 相关阅读:
    pyqt5开发之俄罗斯方块
    Tkenter之API测试系统界面设计
    Python的标准GUI:Tkinter的组件
    Python单元测试框架——unittest
    【Android】自定义ListView的Adapter报空指针异常解决方法
    5、使用Libgdx设计一个简单的游戏------雨滴
    4.6、Libgdx线程介绍
    4.5、Libgdx运行日志管理
    4.4、Libgdx使用方法查询运行环境相关属性
    4.3、Libgdx启动类和配置
  • 原文地址:https://www.cnblogs.com/111qqz/p/4296130.html
Copyright © 2011-2022 走看看