• 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.
  • 相关阅读:
    2,进程----multiprocessing模块介绍
    1,进程----进程理论知识
    对ORM的理解
    对queryset的理解
    个人总结-10-代码测试整合
    个人总结-9-session的使用,十天免登陆
    个人总结-8-重新写注册和登录界面
    个人总结-7- 实现图片在MySQL数据库中的存储,取出以及显示在jsp页面上
    从人机交互看对搜狗输入法的使用感受
    个人总结6-验证码制作总结
  • 原文地址:https://www.cnblogs.com/111qqz/p/4296130.html
Copyright © 2020-2023  润新知