ac1037.pas

来自「这是在网络上搜集到的在东京大学的ACM上面解决的一些题目的源码」· PAS 代码 · 共 33 行

PAS
33
字号
program tju1037;
const
  maxn=100;
var
  len:array[1..maxn,1..maxn]of longint;
  dist:array[1..maxn]of longint;
  s:set of 1..maxn;
  m,t,n,i,j,k,l:word;
  min,ans:longint;
begin
  read(m);
  for t:=1 to m do begin
    read(n);
    for i:=1 to n do
      for j:=1 to n do
        read(len[i,j]);
    dist[1]:=0;for i:=2 to n do dist[i]:=maxlongint;
    j:=1;s:=[1];ans:=0;
    for k:=2 to n do begin
      min:=maxlongint;
      for i:=2 to n do
        if not (i in s) then begin
          if len[j,i]<dist[i] then dist[i]:=len[j,i];
          if dist[i]<min then begin
            min:=dist[i];l:=i;
          end;
        end;
      inc(ans,dist[l]);s:=s+[l];j:=l;
    end;
    writeln(ans);
  end;
end.

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?