ENG  RUSTimus Online Judge
Online Judge
Problems
Authors
Online contests
About Online Judge
Frequently asked questions
Site news
Webboard
Links
Problem set
Submit solution
Judge status
Guide
Register
Update your info
Authors ranklist
Current contest
Scheduled contests
Past contests
Rules
back to board

Common Board

I'm 00120.I'm sorry, I didn't know what's wrong with my program!
Posted by 00120 11 Nov 2002 09:56
program  ural_1029;
  const
    masn                =500;
    masm                =100;
  type
    jing        =array[1..masm,1..masn]of Longint;
    make        =array[1..masn]of Longint;
  var
    a           :jing;
    b           :array[1..masm,1..masn]of byte;
    f1,f2       :make;
    n,m         :integer;

  procedure info;
    var
      i,j       :Integer;
    begin
      read(m,n);
      for i:=m downto 1 do
        for j:=1 to n do
          read(a[i,j]);
    end;

  procedure main;
    var
      i,j,k       :integer;
      ma          :longint;
    begin
      fillchar(f2,sizeof(f2),0);
      for i:=1 to m do begin

        for j:=1 to n do begin
          f1[j]:=f2[j]+a[i,j];
          b[i,j]:=3;
        end;

        for j:=1 to n do begin
          if (j<>1)and(f1[j-1]+a[i,j]<f1[j]) then begin
            f1[j]:=f1[j-1]+a[i,j];
            b[i,j]:=1;
          end;

          if (j<>n)and(f1[j+1]+a[i,j]<f1[j]) then begin
            f1[j]:=f1[j+1]+a[i,j];
            b[i,j]:=2;
          end;
        end;

        f2:=f1;
      end;

      ma:=f1[1];
      for i:=2 to m do
        if f1[i]<ma then begin
          ma:=f1[i];
          j:=i;
        end;

      i:=m;
      while i<>0 do begin

        writeln(j);
        case b[i,j] of
          1: dec(j);
          2: inc(J);
          3: dec(i);
        end;

      end;
    end;

  begin
    info;
    main;
  end.
i think it was this program that crashed the server
Posted by AOY++ 11 Nov 2002 10:04
> program  ural_1029;
>   const
>     masn                =500;
>     masm                =100;
>   type
>     jing        =array[1..masm,1..masn]of Longint;
>     make        =array[1..masn]of Longint;
>   var
>     a           :jing;
>     b           :array[1..masm,1..masn]of byte;
>     f1,f2       :make;
>     n,m         :integer;
>
>   procedure info;
>     var
>       i,j       :Integer;
>     begin
>       read(m,n);
>       for i:=m downto 1 do
>         for j:=1 to n do
>           read(a[i,j]);
>     end;
>
>   procedure main;
>     var
>       i,j,k       :integer;
>       ma          :longint;
>     begin
>       fillchar(f2,sizeof(f2),0);
>       for i:=1 to m do begin
>
>         for j:=1 to n do begin
>           f1[j]:=f2[j]+a[i,j];
>           b[i,j]:=3;
>         end;
>
>         for j:=1 to n do begin
>           if (j<>1)and(f1[j-1]+a[i,j]<f1[j]) then begin
>             f1[j]:=f1[j-1]+a[i,j];
>             b[i,j]:=1;
>           end;
>
>           if (j<>n)and(f1[j+1]+a[i,j]<f1[j]) then begin
>             f1[j]:=f1[j+1]+a[i,j];
>             b[i,j]:=2;
>           end;
>         end;
>
>         f2:=f1;
>       end;
>
>       ma:=f1[1];
>       for i:=2 to m do
>         if f1[i]<ma then begin
>           ma:=f1[i];
>           j:=i;
>         end;
>
>       i:=m;
>       while i<>0 do begin
>
>         writeln(j);
>         case b[i,j] of
>           1: dec(j);
>           2: inc(J);
>           3: dec(i);
>         end;
>
>       end;
>     end;
>
>   begin
>     info;
>     main;
>   end.