ENG  RUSTimus Online Judge
Online Judge
Задачи
Авторы
Соревнования
О системе
Часто задаваемые вопросы
Новости сайта
Форум
Ссылки
Архив задач
Отправить на проверку
Состояние проверки
Руководство
Регистрация
Исправить данные
Рейтинг авторов
Текущее соревнование
Расписание
Прошедшие соревнования
Правила
вернуться в форум

Общий форум

I'm 00120.I'm sorry, I didn't know what's wrong with my program!
Послано 00120 11 ноя 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
Послано AOY++ 11 ноя 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.