题意
有n个城市,编号1~n,有些城市之间有路相连,有些则没有,有路则当然有一个距离。现在规定只能从编号小的城市到编号大的城市,问你从编号为1的城市到编号为n的城市之间的最短距离是多少?
分析
if map[j,i]<>0 then
if dis[j]+map[j,i]<min thenmin:=dis[j]+map[j,i];
dis[i]:=min;
结果=dis[n];
var
dis:array[1..100]of longint;
map:array[1..100,1..100]of longint;
n,i,j,min:longint;
begin
readln(n);
for i:=1 to n do
begin
for j:=1 to n do
read(map[i,j]);
readln;
end;
dis[1]:=0;
for i:=2 to n do
begin
min:=maxint;
for j:=1 to i-1 do
if map[j,i]<>0 then
if dis[j]+map[j,i]<min then min:=dis[j]+map[j,i];
dis[i]:=min;
end;
writeln(dis[n]);
end.