description
有n個城市,編號1~n,有些城市之間有路相連,有些則沒有,有路則當然有乙個距離。現在規定只能從編號小的城市到編號大的城市,問你從編號為1的城市到編號為n的城市之間的最短距離是多少?
input
先輸入乙個n,表示城市數,n小於100。
下面的n行是乙個n*n的鄰接矩陣map[i,j],其中map[i,j]=0表示城市i和城市j之間沒有路相連,否則為兩者之間的距離。
output
輸出格式:乙個數,表示最少要多少時間。
輸入資料保證可以從城市1飛到城市n。
sample input 110
5300
0000
0050
0163
0000
0300
0804
0000
0100
0005
6000
6800
0050
0003
0000
0008
0004
0000
0030
0005
5000
0030
0060
0000
0400
0008
3000
3000
0000
3430
sample output
13題解:這道題可以用逆推,用dis[j]表示階段j到i的城市,再跟min比較,輸出結果
逆推:const maxn=100;
var d:array[1..maxn] of longint;
m:array[1..maxn,1..maxn] of longint;
n,i,j,min:longint;
begin
readln(n);
for i:=1
to n do
begin
for j:=1
to n do
read(m[i,j]);
readln;
end;
d[1]:=0;
for i:=2
to n do
begin
min:=maxint;
for j:=1
to i-1
doif m[j,i]<>0
then
if d[j]+m[j,i]then min:=d[j]+m[j,i];
d[i]:=min;
end;
write(min);
end.
SSL 1636 城市交通(DP kyx
有n個城市,編號1 n,有些城市之間有路相連,有些則沒有,有路則當然有乙個距離。現在規定只能從編號小的城市到編號大的城市,問你從編號為1的城市到編號為n的城市之間的最短距離是多少?先輸入乙個n,表示城市數,n小於100。下面的n行是乙個n n的鄰接矩陣map i,j 其中map i,j 0表示城市i...
SSL 城市交通
有n個城市,編號1 n,有些城市之間有路相連,有些則沒有,有路則當然有乙個距離。現在規定只能從編號小的城市到編號大的城市,問你從編號為1的城市到編號為n的城市之間的最短距離是多少?先輸入乙個n,表示城市數,n小於100。下面的n行是乙個n n的鄰接矩陣map i,j 其中map i,j 0表示城市i...
深搜 城市交通
由於牛奶市場的需求,奶牛必須前往城市,但是唯一可用的交通工具是計程車 教會奶牛如何在城市裡打的 給出乙個城市地圖,東西街區e 1 e 40 南北街區n 1 n 30 製作乙個開車指南給計程車司機,告訴他如何從起點 用s表示 到終點 用e表示 每乙個條目用空格分成兩部分,第乙個部分是方向 n,e,s,...