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.
  • 相关阅读:
    全面分析C#方法中的ref和out
    SQL注入漏洞全接触入门篇
    如何使用四个语句来提高 SQL Server 的伸缩性
    5种提高SQL性能的方法
    SQL注入漏洞全接触高级篇
    网络游戏程序员须知 收包与发包
    SQL注入攻击的原理及其防范措施
    SQL注入漏洞全接触进阶篇
    C#委托的故事
    转眼又快一年了,最近没赚钱,在学习FLASH as3编程
  • 原文地址:https://www.cnblogs.com/111qqz/p/4296130.html
Copyright © 2011-2022 走看看