记录编号 189769 评测结果 AAAAAAAAAA
题目名称 [USACO 3.1] 最短网络 最终得分 100
用户昵称 GravatarVacaTionGOD 是否通过 通过
代码语言 Pascal 运行时间 0.013 s
提交时间 2015-09-29 13:45:40 内存使用 0.20 MiB
显示代码纯文本
  1. var
  2. i,j,k,n,min,ans:longint;
  3. f:array[1..100] of boolean;
  4. a:array[1..100,1..100] of longint;
  5. d:array[1..100] of longint;
  6. procedure Prim;
  7. begin
  8. fillchar(f,sizeof(f),false);
  9. for i:=1 to n do d[i]:=a[1,i];
  10. f[1]:=true;
  11. ans:=0;
  12. for i:=2 to n do
  13. begin
  14. min:=maxlongint div 2;
  15. for j:=1 to n do
  16. if (not f[j]) and (d[j]<min) then
  17. begin min:=d[j]; k:=j; end;
  18. inc(ans,d[k]);
  19. f[k]:=true;
  20. for j:=1 to n do
  21. if (not f[j]) and (a[k,j]<d[j]) then d[j]:=a[k,j];
  22. end;
  23. writeln(ans);
  24. end;
  25. begin
  26. assign(input,'agrinet.in');
  27. reset(input);
  28. assign(output,'agrinet.out');
  29. rewrite(output);
  30. readln(n);
  31. for i:=1 to n do begin
  32. for j:=1 to n do
  33. read(a[i,j]); readln; end;
  34. Prim;
  35. close(input);
  36. close(output);
  37. end.