记录编号 189769 评测结果 AAAAAAAAAA
题目名称 [USACO 3.1] 最短网络 最终得分 100
用户昵称 GravatarVacaTionGOD 是否通过 通过
代码语言 Pascal 运行时间 0.013 s
提交时间 2015-09-29 13:45:40 内存使用 0.20 MiB
显示代码纯文本
var
  i,j,k,n,min,ans:longint;
  f:array[1..100] of boolean;
  a:array[1..100,1..100] of longint;
  d:array[1..100] of longint;
procedure Prim;
begin
  fillchar(f,sizeof(f),false);
  for i:=1 to n do d[i]:=a[1,i];
  f[1]:=true;
  ans:=0;
  for i:=2 to n do
   begin
     min:=maxlongint div 2;
     for j:=1 to n do
      if (not f[j]) and (d[j]<min) then
       begin min:=d[j]; k:=j; end;
      inc(ans,d[k]);
      f[k]:=true;
     for j:=1 to n do
      if (not f[j]) and (a[k,j]<d[j]) then d[j]:=a[k,j];
   end;
  writeln(ans);
end;
begin
assign(input,'agrinet.in');
reset(input);
assign(output,'agrinet.out');
rewrite(output);
  readln(n);
  for i:=1 to n do  begin
   for j:=1 to n do
    read(a[i,j]); readln; end;
  Prim;
close(input);
close(output);
end.