比赛 noip20081103 评测结果 AWWWWWWWWA
题目名称 放养奶牛 最终得分 20
用户昵称 Achilles 运行时间 0.000 s
代码语言 Pascal 内存使用 0.00 MiB
提交时间 2008-11-03 20:27:52
显示代码纯文本
  1. program cowties;
  2. var
  3. cow,cow2:array[1..201,0..80]of record
  4. x,y:longint;
  5. min:real;
  6. end;
  7. n,i,j,k,l:longint;
  8. t,min:real;
  9. begin
  10. fillchar(cow,sizeof(cow),0);
  11. assign(input,'cowties.in');
  12. assign(output,'cowties.out');
  13. reset(input);
  14. rewrite(output);
  15. readln(n);
  16. for i:=1 to n do
  17. begin
  18. read(cow[i,0].x);
  19. for j:=1 to cow[i,0].x do
  20. begin
  21. read(cow[i,j].x,cow[i,j].y);
  22. cow[i,j].min:=2147483647;
  23. end;
  24. readln;
  25. end;
  26. cow2:=cow;
  27. for i:=1 to cow[1,0].x do
  28. cow[1,i].min:=0;
  29. n:=n+1;
  30. cow[n]:=cow[1];
  31. cow2:=cow;
  32. min:=2147483647;
  33. for l:=1 to cow[1,0].x do
  34. begin
  35. cow[1,0].x:=1;
  36. cow[1,1]:=cow2[1,l];
  37. cow[n]:=cow[1];
  38. cow[n,1].min:=2147483647;
  39. for i:=2 to n do
  40. begin
  41. for j:=1 to cow[i,0].x do
  42. for k:=1 to cow[i-1,0].x do
  43. begin
  44. if cow[i,j].min>cow[i-1,k].min+sqrt((cow[i-1,k].x-cow[i,j].x)*(cow[i-1,k].x-cow[i,j].x)+(cow[i-1,k].y-cow[i,j].y)*(cow[i-1,k].y-cow[i,j].y)) then begin
  45. t:=sqrt((cow[i-1,k].x-cow[i,j].x)*(cow[i-1,k].x-cow[i,j].x)+(cow[i-1,k].y-cow[i,j].y)*(cow[i-1,k].y-cow[i,j].y));
  46. cow[i,j].min:=cow[i-1,k].min+t;
  47. end;
  48. end;
  49. end;
  50. if cow[n,1].min<min then min:=cow[n,1].min;
  51. end;
  52. writeln(trunc(min*100));
  53. close(input);
  54. close(output);
  55. end.