记录编号 22158 评测结果 AAAAAAAAAA
题目名称 教官 最终得分 100
用户昵称 Gravatardonny 是否通过 通过
代码语言 Pascal 运行时间 0.033 s
提交时间 2010-11-17 14:56:39 内存使用 0.16 MiB
显示代码纯文本
  1. program officer;
  2. var
  3. a:array[0..10000]of longint;
  4. c:array[1..10000]of boolean;
  5. i:longint;
  6. n:longint;
  7. ans:int64;
  8. procedure suan(x:longint);
  9. var
  10. o,p:int64;
  11. begin
  12. p:=ans*x;
  13. o:=ans mod x;
  14. while o<>0 do
  15. begin
  16. ans:=x;
  17. x:=o;
  18. o:=ans mod x;
  19. end;
  20. ans:=p div x;
  21. end;
  22. procedure search(const x,y:longint);
  23. begin
  24. if x=i then
  25. begin
  26. suan(y);
  27. end
  28. else
  29. begin
  30. c[x]:=true;
  31. search(a[x],y+1);
  32. end;
  33. end;
  34. begin
  35. assign(input,'officer.in');
  36. reset(input);
  37. assign(output,'officer.out');
  38. rewrite(output);
  39. readln(n);
  40. for i:=1 to n do
  41. readln(a[i]);
  42. ans:=1;
  43. for i:=1 to n do
  44. if c[i]=false then
  45. search(a[i],1);
  46. writeln(ans);
  47. close(input);
  48. close(output);
  49. end.