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

Обсуждение задачи 1024. Перестановки

why i got wrong answer??
Послано qwt 5 фев 2002 17:42
var
  a,b:array[1..1000] of integer;
  n,k,i,j:longint;
function over:boolean;
var
  i:integer;
begin
  over:=false;
  for i:=1 to n do if b[i]<>i then exit;
  over:=true;
end;
begin
  readln(n);
  fillchar(a,sizeof(A),0);
  for i:=1 to n do read(a[i]);readln;
  b:=a;
  if over then writeln(0) else begin
    j:=1;
    while over=false do begin
      inc(j);
      for i:=1 to n do
        b[i]:=a[b[i]];
    end;
    writeln(j);
  end;
end.
You have the idea, but your solution isn't correct!(-)
Послано Miguel Angel 7 фев 2002 02:48
> var
>   a,b:array[1..1000] of integer;
>   n,k,i,j:longint;
> function over:boolean;
> var
>   i:integer;
> begin
>   over:=false;
>   for i:=1 to n do if b[i]<>i then exit;
>   over:=true;
> end;
> begin
>   readln(n);
>   fillchar(a,sizeof(A),0);
>   for i:=1 to n do read(a[i]);readln;
>   b:=a;
>   if over then writeln(0) else begin
>     j:=1;
>     while over=false do begin
>       inc(j);
>       for i:=1 to n do
>         b[i]:=a[b[i]];
>     end;
>     writeln(j);
>   end;
> end.
>