比赛 noip2016普及练习2 评测结果
题目名称 保卫钓鱼岛! 最终得分 0
用户昵称 wzz 运行时间 0.000 s
代码语言 Pascal 内存使用 0.00 MiB
提交时间 2016-11-07 20:47:24
显示代码纯文本
  1. var
  2. m,n,i,j,k,u,v,a,b,t:longint; ans1,ans2,tian:qword;
  3. map:array[1..10000,1..10000]of qword;
  4. begin
  5. assign(input,'diaoyu.in'); reset(input);
  6. assign(output,'diaoyu.out'); rewrite(output);
  7. read(m,n);
  8. tian:=1;
  9. for i:=1 to 63 do tian:=tian*2;
  10. tian:=(tian-1+tian)div 2;
  11. for i:=1 to m do
  12. for j:=1 to m do map[i,j]:=tian;
  13.  
  14. for i:=1 to m-1 do
  15. begin
  16. read(a,b,t);
  17. map[a,b]:=t;
  18. end;
  19.  
  20. for i:=1 to m do map[i,i]:=0;
  21.  
  22. for k:=1 to m do
  23. for i:=1 to m do
  24. for j:=1 to m do
  25. if map[i,k]+map[k,j]<map[i,j] then map[i,j]:=map[i,k]+map[k,j];
  26.  
  27. for i:=1 to n do
  28. begin
  29. read(u,v);
  30. if map[u,v]<tian then begin inc(ans1);ans2:=ans2+map[u,v];end;
  31. end;
  32. writeln(ans1);
  33. writeln(ans2);
  34. close(input);
  35. close(output);
  36. end.
  37.  
  38.  
  39.  
  40.  
  41.  
  42.  
  43.