JAVA 最短路徑

2021-08-19 17:45:13 字數 1272 閱讀 1281

1. 

從景石出發,步行遊覽以下景點: ①遊客服務中心,②陽光草坪,③森林小劇場,④兒童科普體驗區,⑤兒童戲水場,⑥濕地博物館,⑦濕地商業街。建立數學模型,找出從景石出發,到達⑦濕地商業街,並且經過①—⑥所有景點至少1次的距離最短的路線,計算該路線的長度。注:在每個景點不用停留。

任意兩個景點之間的最短步行距離如表1給出。

0~7 分別表示景石、遊客服務中心、陽光草坪、森林小劇場、兒童科普體驗區、兒童戲水場、濕地博物館、濕地商業街。

假定每個景點只經過一次,起點為景石,終點為濕地商業街,所以路線一共有6!=720條。

演算法思想:

(1)按順序找到一條路徑leng並記錄在min,min=leng。

(2)接著找下一條路徑leng,這條路徑leng與路徑min比較。如果leng<=min,則把leng記錄在min,min=leng,否則什麼也不做。

(3)重複(2),直到把所有的路徑都找出來,最後的min一定是最短的路徑。

最短的路徑為:0->3->5->1->2->4->6->7

最短路徑的長度為:1820

public class linklist 

leng=leng-a[i6][i7];

leng=leng-a[i7][i8];

b[i7]=1;

}leng=leng-a[i5][i6];

b[i6]=1;

}leng=leng-a[i4][i5];

b[i5]=1;

}leng=leng-a[i3][i4];

b[i4]=1;

}leng=leng-a[i2][i3];

b[i3]=1;

}leng=leng-a[i1][i2];

b[i2]=1;

} system.out.println("最短路徑為:"); //輸出記錄的最短路徑的結果

system.out.print(c[0]);

for(int i=1;i<8;i++)

system.out.print("->"+c[i]);

system.out.print("\n");

system.out.println("最短路徑長度為:"+min);

}}

Codeup最短路徑 最短路徑

n個城市,標號從0到n 1,m條道路,第k條道路 k從0開始 的長度為2 k,求編號為0的城市到其他城市的最短距離。第一行兩個正整數n 2 n 100 m m 500 表示有n個城市,m條道路,接下來m行兩個整數,表示相連的兩個城市的編號。n 1行,表示0號城市到其他城市的最短路,如果無法到達,輸出...

Codeup最短路徑 最短路徑問題

給你n個點,m條無向邊,每條邊都有長度d和花費p,給你起點s終點t,要求輸出起點到終點的最短距離及其花費,如果最短距離有多條路線,則輸出花費最少的。輸入n,m,點的編號是1 n,然後是m行,每行4個數 a,b,d,p,表示a和b之間有一條邊,且其長度為d,花費為p。最後一行是兩個數 s,t 起點s,...

最短路徑之最短路徑問題

提交 狀態 討論版 命題人 外部匯入 題目描述 平面上有n個點 n 100 每個點的座標均在 10000 10000之間。其中的一些點之間有連線。若有連線,則表示可從乙個點到達另乙個點,即兩點間有通路,通路的距離為兩點間的直線距離。現在的 任務是找出從一點到另一點之間的最短路徑。輸入共n m 3行,...