记录编号 22158 评测结果 AAAAAAAAAA
题目名称 教官 最终得分 100
用户昵称 Gravatardonny 是否通过 通过
代码语言 Pascal 运行时间 0.033 s
提交时间 2010-11-17 14:56:39 内存使用 0.16 MiB
显示代码纯文本
program officer;
var
  a:array[0..10000]of longint;
  c:array[1..10000]of boolean;
  i:longint;
  n:longint;
  ans:int64;
procedure suan(x:longint);
var
  o,p:int64;
begin
  p:=ans*x;
  o:=ans mod x;
  while o<>0 do
  begin
    ans:=x;
    x:=o;
    o:=ans mod x;
  end;
  ans:=p div x;
end;
procedure search(const x,y:longint);
begin
  if x=i then
  begin
    suan(y);
  end
  else
  begin
    c[x]:=true;
    search(a[x],y+1);
  end;
end;
begin
  assign(input,'officer.in');
  reset(input);
  assign(output,'officer.out');
  rewrite(output);
  readln(n);
  for i:=1 to n do
    readln(a[i]);
  ans:=1;
  for i:=1 to n do
    if c[i]=false then
      search(a[i],1);
  writeln(ans);
  close(input);
  close(output);
end.