1 条题解

  • 0
    @ 2025-9-9 23:46:56

    Pascal :

    var
       m,n,i,j,k,max:longint; 
       f,a:array[0..10,0..15]of longint; 
    procedure print(i,j:longint); 
    var k:longint; 
    begin
      if i=0 then exit; 
      for k:=0 to j do
        if max=f[i-1,k]+a[i,j-k] then
          begin
            max:=f[i-1,k]; 
            print(i-1,k); 
            writeln(i,' ',j-k); 
            exit; 
          end; 
    end; 
    begin
      readln(n,m); 
      for i:=1 to n do
        for j:=1 to m do
          read(a[i,j]); 
      for i:=1 to n do
        for j:=1 to m do
          begin
            max:=0; 
            for k:=0 to j do
              if f[i-1,k]+a[i,j-k]>max 
               then max:=f[i-1,k]+a[i,j-k]; 
            f[i,j]:=max; 
          end; 
      writeln(f[n,m]); 
      print(n,m); 
    end. 
    
    • 1

    信息

    ID
    1159
    时间
    1000ms
    内存
    128MiB
    难度
    (无)
    标签
    递交数
    0
    已通过
    0
    上传者