89 条题解

  • 0
    @ 2009-10-30 15:55:01

    第一次,n,m看反,70分

    用n div 2居然也是70分

    (n+1) div 2 A了

    纪念 No.60

  • 0
    @ 2009-10-24 20:17:54

    吃吃吃吃!!!!!一次吃掉!

    ---|---|---|---|---|---|---|---|---|---|---|

    编译通过...

    ├ 测试数据 01:答案正确... 0ms

    ├ 测试数据 02:答案正确... 0ms

    ├ 测试数据 03:答案正确... 0ms

    ├ 测试数据 04:答案正确... 0ms

    ├ 测试数据 05:答案正确... 0ms

    ├ 测试数据 06:答案正确... 0ms

    ├ 测试数据 07:答案正确... 0ms

    ├ 测试数据 08:答案正确... 0ms

    ├ 测试数据 09:答案正确... 0ms

    ├ 测试数据 10:答案正确... 0ms

    ---|---|---|---|---|---|---|---|-

    Accepted 有效得分:100 有效耗时:0ms

    var n,m,i,j:longint;

    map,f,r:array[0..201,0..201]of longint;

    function max(a,b,c:longint):longint;

    begin

    if a

  • 0
    @ 2009-10-22 21:54:46

    我也想说很水了~

    编译通过...

    ├ 测试数据 01:答案正确... 0ms

    ├ 测试数据 02:答案正确... 0ms

    ├ 测试数据 03:答案正确... 0ms

    ├ 测试数据 04:答案正确... 0ms

    ├ 测试数据 05:答案正确... 0ms

    ├ 测试数据 06:答案正确... 0ms

    ├ 测试数据 07:答案正确... 0ms

    ├ 测试数据 08:答案正确... 0ms

    ├ 测试数据 09:答案正确... 0ms

    ├ 测试数据 10:答案正确... 0ms

    ---|---|---|---|---|---|---|---|-

    Accepted 有效得分:100 有效耗时:0ms

    var

    m,n:longint;

    a,f:array[0..201,0..201]of longint;

    procedure init;

    var

    i,j:longint;

    begin

    readln(m,n);

    for i:=1 to m do

    begin

    for j:=1 to n do read(a);

    readln;

    end;

    fillchar(f,sizeof(f),0);

    end;

    function max(x,y:longint):longint;

    begin

    if x>y then exit(x) else exit(y);

    end;

    procedure work;

    var

    i,j:longint;

    begin

    for i:=1 to m do

    for j:=1 to n do

    f:=max(max(f,f),f)+a;

    end;

    procedure print;

    begin

    writeln(max(max(f[m,n div 2],f[m,n div 2+1]),f[m,n div 2+2]));

    end;

    begin

    init;

    work;

    print;

    end.

  • 0
    @ 2009-10-13 21:47:07

    Program P1634;

    Var i,j,k,l,m,n,max:Longint;

    a,f:array[0..200,0..200] of longint;

    b:array[0..200,0..200] of boolean;

    Begin

    Readln(m,n);

    for i:=1 to m do

    for j:=1 to n do

    Read(a);

    b[m,n div 2]:=true; f[m,n div 2]:=a[m,n div 2];

    b[m,n div 2+1]:=true; f[m,n div 2+1]:=a[m,n div 2+1];

    b[m,n div 2+2]:=true; f[m,n div 2+2]:=a[m,n div 2+2];

    for i:=m downto 2 do

    for j:=1 to n do

    if b=true then

    begin

    b:=true;

    b:=true;

    b:=true;

    end;

    For i:=m-1 downto 1 do

    for j:=1 to n do

    begin

    if b=true then

    begin

    max:=0;

    if ((b=true) and ((j-1)>0) and (f>max)) then

    max:=f;

    if ((b=true) and ((j+1)max)) then

    max:=f;

    if ((b=true) and (f>max)) then

    max:=f;

    f:=a+max;

    end;

    end;

    Max:=0;

    For i:=1 to n do

    if f[1,i]>max then max:=f[1,i];

    writeln(Max);

    End.

  • 0
    @ 2009-10-05 15:27:59

    hehe♡

  • 0
    @ 2009-09-27 18:14:22

    苍天啊

    大地啊

    ORZ

    我败给你了

    这题的出题者

    我做得多想把电脑吃了

    好汗的例子 几乎乱写多过

  • 0
    @ 2009-09-21 16:23:16

    program p1364;

    var a,f:array[0..201,0..201] of longint;

    i,j,k,l,m,n,ans:longint;

    function max(x,y,z:longint):longint;

    begin

    max:=-maxlongint;

    if x>max then max:=x;

    if y>max then max:=y;

    if z>max then max:=z;

    end;

    begin

    readln(n,m);

    for i:=1 to n do

    for j:=1 to m do read(a);

    for i:=0 to n+1 do

    for j:=0 to m+1 do f:=-maxlongint div 40;

    f[n+1,m div 2+1]:=0;

    for i:=n downto 1 do

    for j:=1 to m do

    f:=max(f,f,f)+a;

    ans:=-maxlongint;

    for i:=1 to m do

    if f[1,i]>ans then ans:=f[1,i];

    writeln(ans);

    end.

    一遍AC。。。好久没有一遍AC了。。

  • 0
    @ 2009-09-18 19:58:26

    编译通过...

    ├ 测试数据 01:答案正确... 0ms

    ├ 测试数据 02:答案正确... 0ms

    ├ 测试数据 03:答案正确... 0ms

    ├ 测试数据 04:答案正确... 0ms

    ├ 测试数据 05:答案正确... 0ms

    ├ 测试数据 06:答案正确... 0ms

    ├ 测试数据 07:答案正确... 0ms

    ├ 测试数据 08:答案正确... 0ms

    ├ 测试数据 09:答案正确... 0ms

    ├ 测试数据 10:答案正确... 0ms

    ---|---|---|---|---|---|---|---|-

    Accepted 有效得分:100 有效耗时:0ms

    第一次过动规的题,过了几次,我的AC率……

    program p1346;

    var

    a,f:array [1..300,1..300] of longint;

    i,j,m,n:longint;

    function max(b,c,d:longint):longint;

    begin

    max:=b;

    if c>max then max:=c;

    if d>max then max:=d;

    end;

    begin

    readln(m,n);

    for i:=1 to m do

    for j:=1 to n do

    read(a);

    for i:=1 to n do f[1,i]:=a[1,i];

    for i:=2 to m do

    for j:=1 to n do

    f:=max(f,f,f)+a;

    writeln(max(f[m,(n div 2)],f[m,(n div 2)+1],f[m,(n div 2)+2]));

    end.

  • 0
    @ 2009-08-17 08:52:37

    经典的数塔小问题……

    程序14行

  • 0
    @ 2009-08-12 14:05:28

    我觉得大家的代码都说明理解有误,人家是从第m行吃到第一行,你们的代码都是反过来的

  • 0
    @ 2009-08-04 15:27:20

    编译通过...

    ├ 测试数据 01:答案正确... 0ms

    ├ 测试数据 02:答案正确... 0ms

    ├ 测试数据 03:答案正确... 0ms

    ├ 测试数据 04:答案正确... 0ms

    ├ 测试数据 05:答案正确... 0ms

    ├ 测试数据 06:答案正确... 0ms

    ├ 测试数据 07:答案正确... 0ms

    ├ 测试数据 08:答案正确... 0ms

    ├ 测试数据 09:答案正确... 0ms

    ├ 测试数据 10:答案正确... 0ms

    ---|---|---|---|---|---|---|---|-

    Accepted 有效得分:100 有效耗时:0ms

    郁闷

  • 0
    @ 2009-08-03 19:37:25

    数据好阴险!!!!!!!!!!!!!!!!!!!!!!!!!!!!

    f=-maxlongint并不能表示f不能达到!!!

    也算是捡了个教训吧。

  • 0
    @ 2009-07-28 12:13:05

    ├ 测试数据 01:答案正确... 0ms

    ├ 测试数据 02:答案正确... 0ms

    ├ 测试数据 03:答案正确... 0ms

    ├ 测试数据 04:答案正确... 0ms

    ├ 测试数据 05:答案正确... 0ms

    ├ 测试数据 06:答案正确... 0ms

    ├ 测试数据 07:答案正确... 0ms

    ├ 测试数据 08:答案正确... 0ms

    ├ 测试数据 09:答案正确... 0ms

    ├ 测试数据 10:答案正确... 0ms

    太水的题了,数据要longint,哎,我的AC率

  • 0
    @ 2009-07-24 22:41:08

    ……这题的题目描述真的是……

    原先写成write(f[m,(n+1) div 2])于是就全错了……÷

    不过为什么最后4个点会W?

    麻烦诸位看一下了:

    program p1364;

    var f:array[0..201,0..201]of longint;

    n,m,i,j,v:longint;

    function max(x,y:longint):longint;

    begin

    if x>y then max:=x else max:=y;

    end;

    begin

    readln(m,n);

    v:=round(n/2);

    for i:=1 to m do

    begin

    for j:=1 to n do read(f);

    readln;

    end;

    for i:=2 to m+1 do

    begin

    f:=max(f,f)+f;

    f:=max(f,f)+f;

    for j:=2 to n-1 do

    f:=max(f,max(f,f))+f;

    end;

    write(f[m+1,v]);

    end.

  • 0
    @ 2009-07-18 10:42:52

    program hihi;

    const

    maxn=200;

    type

    arrr=array[0..maxn,1..maxn]of longint;

    var

    f,w:arrr;

    i,j,n,m,k1,k2:longint;

    procedure init;

    var i,j:longint;

    begin

    readln(m,n);

    fillchar(w,sizeof(w),0);

    for i:=m downto 1 do

    for j:=1 to n do

    begin

    f:=-maxn;

    read(w);

    end;

    end;

    function max(a,b:longint):longint;

    begin

    if a>b then exit(a) else exit(b);

    end;

    function maxx(a,b,c:longint):longint;

    begin

    if (a>b)and(a>c) then exit(a)

    else if (b>a)and(b>c) then exit(b)

    else exit(c);

    end;

    begin

    init;

    for i:=1 to m do

    begin

    k1:=n div 2+1-i;

    k2:=n div 2+1+i;

    if k1n then k2:=n;

    for j:=k1 to k2 do

    begin

    if j+1>n then f:=max(f,w+max(f,f));

    if j-1=1)and(j+1k1 then k1:=f[m,i];

    writeln(k1);

    end.

    嘿嘿,就是3叉的数字塔嘛.. 确定以下范围就好拉..

  • 0
    @ 2009-07-16 19:50:19

    编译通过...

    ├ 测试数据 01:答案正确... 0ms

    ├ 测试数据 02:答案正确... 0ms

    ├ 测试数据 03:答案正确... 0ms

    ├ 测试数据 04:答案正确... 0ms

    ├ 测试数据 05:答案正确... 0ms

    ├ 测试数据 06:答案正确... 0ms

    ├ 测试数据 07:答案正确... 0ms

    ├ 测试数据 08:答案正确... 0ms

    ├ 测试数据 09:答案正确... 0ms

    ├ 测试数据 10:答案正确... 0ms

    ---|---|---|---|---|---|---|---|-

    Accepted 有效得分:100 有效耗时:0ms

    水的我提交3次才AC,不有一个问题,

    为什么printf("%d",max(data[m][(n+1)/2],max(data[m][n/2],data[m][(n+1)/2+1])));

    90分

    而printf("%d",max(data[m+1][n/2+1]));

    AC??????

    #include

    int max(int a,int b)

    {

    if(a>b) return a;

    else return b;

    }

    int main()

    {

    int data[210][210]={0},i,j,n,m;

    scanf("%d%d",&m,&n);

    for(i=1;i

  • 0
    @ 2009-07-14 10:09:35

    这道题目真的很水 水到我不是一次AC

    题目描述中是“眼前突然闪现出了一个n*m(n and m

  • 0
    @ 2009-06-29 22:08:50

    var

    n,m:longint;

    a:array [1..2000,1..2000] of longint;

    f:array [0..2001,1..2000] of longint;

    procedure init;

    var i,j:longint;

    begin

      readln(n,m);

      for i:=1 to n do

      begin

       for j:=1 to m do

        read(a);

       readln;

      end;

      for i:=0 to 200 do

       for j:=1 to 200 do

        f:=461486876;

    end;

    function max(aa,bb:longint):longint;

    begin

      if aa

  • 0
    @ 2009-05-08 19:27:45

    直接O(nm)

    暴力动归

    (一开始以为可以从左往右,从右往左,从上往下,从下往上,想复杂了...)

  • 0
    @ 2009-04-27 18:28:37

    ├ 测试数据 01:答案正确... 0ms

    ├ 测试数据 02:答案正确... 0ms

    ├ 测试数据 03:答案正确... 0ms

    ├ 测试数据 04:答案正确... 0ms

    ├ 测试数据 05:答案正确... 0ms

    ├ 测试数据 06:答案正确... 9ms

    ├ 测试数据 07:答案正确... 0ms

    ├ 测试数据 08:答案正确... 56ms

    ├ 测试数据 09:答案正确... 72ms

    ├ 测试数据 10:答案正确... 0ms

    ---|---|---|---|---|---|---|---|-

    理解啊。。3次才ac。。锉

信息

ID
1364
难度
5
分类
动态规划 点击显示
标签
(无)
递交数
1770
已通过
630
通过率
36%
被复制
2
上传者