VDANGER - Nguy hiểm rõ ràng trước mắt
Tác giả: ladpro98
Ngôn ngữ: Pascal
program vdanger;
uses math;
const maxn=101;
fi='';
var a:array[1..maxn,1..maxn] of longint;
path:array[1..maxn*maxn] of longint;
n,m:longint;
procedure input;
var inp:text;
i,j:longint;
begin
assign(inp,fi);
reset(inp);
readln(inp,n,m);
for i:=1 to m do readln(inp,path[i]);
for i:=1 to n do
begin
for j:=1 to n do read(inp,a[i,j]);
readln(inp);
end;
close(inp);
end;
procedure Floyd;
var i,j,k:longint;
begin
for k:=1 to n do
for i:=1 to n do
for j:=1 to n do
if i<>j then
a[i,j]:=min(a[i,j],a[i,k]+a[k,j]);
end;
procedure output;
var res,i:longint;
begin
res:=0;
for i:=1 to m-1 do
inc(res,a[path[i],path[i+1]]);
write(res);
end;
begin
input;
Floyd;
output;
end.