记录编号 49092 评测结果 AAAAA
题目名称 小树 最终得分 100
用户昵称 Gravatar剑舞江南 是否通过 通过
代码语言 Pascal 运行时间 0.008 s
提交时间 2012-11-07 12:42:45 内存使用 0.19 MiB
显示代码纯文本
  1. Program PP3;
  2. Var qi,mo,zh,f,q,d,w:array[0..1010]of longint;
  3. t,l,n,a,b,c,xx,head,tail,i:longint;
  4. max,k:real;
  5. Procedure qsort(s,t:longint);
  6. var i,j,mid,temp:longint;
  7. begin
  8. i:=s; j:=t; mid:=qi[(s+t)div 2];
  9. while i<=j do
  10. begin
  11. while qi[i]<mid do inc(i);
  12. while qi[j]>mid do dec(j);
  13. if i<=j then
  14. begin
  15. temp:=qi[i]; qi[i]:=qi[j]; qi[j]:=temp;
  16. temp:=mo[i]; mo[i]:=mo[j]; mo[j]:=temp;
  17. temp:=zh[i]; zh[i]:=zh[j]; zh[j]:=temp;
  18. inc(i); dec(j);
  19. end;
  20. end;
  21. if i<t then qsort(i,t);
  22. if j>s then qsort(s,j);
  23. end;
  24. Begin
  25. assign(input,'treec.in'); reset(input);
  26. assign(output,'treec.out'); rewrite(output);
  27. readln(t);
  28. for l:=1 to t do begin
  29. readln(n);
  30. if n=1 then writeln('0.00');
  31. if n<>1 then begin
  32. max:=0;
  33. fillchar(qi,sizeof(qi),0);
  34. fillchar(mo,sizeof(mo),0);
  35. fillchar(zh,sizeof(zh),0);
  36. fillchar(f,sizeof(f),0);
  37. for i:=1 to n-1 do begin
  38. readln(a,b,c);
  39. qi[i]:=a; mo[i]:=b; zh[i]:=c;
  40. end;
  41. qsort(1,n-1);
  42. f[qi[1]]:=1; f[n]:=n;
  43. for i:=2 to n-1 do
  44. if qi[i]<>qi[i-1] then f[qi[i]]:=i;
  45. for i:=n-1 downto 1 do
  46. if f[i]=0 then f[i]:=f[i+1];
  47. fillchar(q,sizeof(q),0);
  48. fillchar(d,sizeof(d),0);
  49. fillchar(w,sizeof(w),0);
  50. q[1]:=0; d[0]:=0; w[0]:=0;
  51. head:=0; tail:=1;
  52. while head<tail do begin
  53. inc(head); xx:=q[head];
  54. for i:=f[xx] to f[xx+1]-1 do begin
  55. d[mo[i]]:=d[xx]+1;
  56. w[mo[i]]:=w[xx]+zh[i];
  57. k:=w[mo[i]]/d[mo[i]];
  58. if k>max then max:=k;
  59. inc(tail);
  60. q[tail]:=mo[i];
  61. end;
  62. end;
  63. writeln(max:0:2);
  64. end;
  65. end;
  66. close(input);
  67. close(output);
  68. End.
  69.