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

Обсуждение задачи 1124. Мозаика

why I got TL
Послано ACer 13 авг 2003 09:25
var  n,m,i,j,t,s:longint;
     a:array[0..100,0..100]of longint;

     l:boolean;
procedure done(dep:longint);
var k:longint;
begin
     for k:=1 to n do
         if a[dep,k]>0 then begin
            inc(s);
            dec(a[dep,k]);
            dec(a[dep,0]);
            done(k);
            end;
end;
begin
     read(n);
     read(m);
     for i:=1 to n do
         for j:=1 to m do
         begin
              read(t);
              if t<>I then begin inc(a[i,t]);inc(a[i,0]);end;

              end;

     l:=false;
     for i:=1 to n do

          if a[i,0]>0 then begin
             for j:=1 to n do
                 if a[i,j]>0 then begin
                    inc(s);
                    dec(a[i,j]);
                    dec(a[i,0]);
                    done(j);
                    end;
                    inc(s);
                    l:=true;
                    end;
     if l then s:=s-1;
     writeln(s);
end.


Re: who can me a hint!!!
Послано ACer 14 авг 2003 09:40
> var  n,m,i,j,t,s:longint;
>      a:array[0..100,0..100]of longint;
>
>      l:boolean;
> procedure done(dep:longint);
> var k:longint;
> begin
>      for k:=1 to n do
>          if a[dep,k]>0 then begin
>             inc(s);
>             dec(a[dep,k]);
>             dec(a[dep,0]);
>             done(k);
>             end;
> end;
> begin
>      read(n);
>      read(m);
>      for i:=1 to n do
>          for j:=1 to m do
>          begin
>               read(t);
>               if t<>I then begin inc(a[i,t]);inc(a[i,0]);end;
>
>               end;
>
>      l:=false;
>      for i:=1 to n do
>
>           if a[i,0]>0 then begin
>              for j:=1 to n do
>                  if a[i,j]>0 then begin
>                     inc(s);
>                     dec(a[i,j]);
>                     dec(a[i,0]);
>                     done(j);
>                     end;
>                     inc(s);
>                     l:=true;
>                     end;
>      if l then s:=s-1;
>      writeln(s);
> end.
>
>
>
>