SSL P1760 商店选址问题

Description

给出一个城市的地图(用邻接矩阵表示),商店设在一点,使各个地方到商店距离之和最短。

Input

第一行为n(共有几个城市); N小于201
第二行至第n+1行为城市地图(用邻接矩阵表示);

Output

最短路径之和;

Sample Input

3
0 3 1
3 0 2
1 2 0
Sample Output

3

先floyd,然后判断找最小即可。

var
   f:array [0..201,0..201] of longint;
   i,j,k,n,ans,min:longint;
begin
     readln(n);
     for i:=1 to n do
         begin
            for j:=1 to n do read(f[i,j]);
            readln;
         end;
     for k:=1 to n do
         for i:=1 to n do
             for j:=1 to n do
                 if f[i,k]+f[k,j]then
                       f[i,j]:=f[i,k]+f[k,j];
     min:=maxlongint;
     for i:=1 to n do
         begin
            ans:=0;
            for j:=1 to n do ans:=ans+f[i,j];
            if ansthen min:=ans;
         end;
     writeln(min);
end.

你可能感兴趣的:(floyd,pascal)