題目描述 description
h城是乙個旅遊勝地,每年都有成千上萬的人前來觀光。為方便遊客,巴士公司在各個旅遊景點及賓館,飯店等地都設定了巴士站並開通了一些單程巴上線路。每條單程巴士線路從某個巴士站出發,依次途經若干個巴士站,最終到達終點巴士站。
一名旅客最近到h城旅遊,他很想去s公園遊玩,但如果從他所在的飯店沒有一路巴士可以直接到達s公園,則他可能要先乘某一路巴士坐幾站,再下來換乘同一站台的另一路巴士, 這樣換乘幾次後到達s公園。
現在用整數1,2,…n 給h城的所有的巴士站編號,約定這名旅客所在飯店的巴士站編號為1…s公園巴士站的編號為n。
寫乙個程式,幫助這名旅客尋找乙個最優乘車方案,使他在從飯店乘車到s公園的過程中換車的次數最少。
輸入描述 input description
輸入檔案是input.txt。檔案的第一行有兩個數字m和n(1<=m<=100 1輸出描述 output description
輸出檔案是output.txt,檔案只有一行。如果無法乘巴士從飯店到達s公園,則輸出"n0",否則輸出你的程式所找到的最少換車次數,換車次數為0表示不需換車即可到達。
樣例輸入 sample input
3 76 7
4 7 3 6
2 1 3 5
樣例輸出 sample output
1 #include 2 #include 3 #include 4 #include 5 #include 6using
namespace
std;
7const
int n=510,inf=1000000000;8
char s[100000];9
intn,m;
10int
dis[n][n];
11 inline void
gi() 12;
18while(j23for(int i=1;i<=p;i++)
24for(int j=i+1;j<=p;j++)
25 dis[a[i]][a[j]]=1;26
}27intmain()
28
題解 洛谷P5767 NOI1997 最優乘車
題面 一道很經典的最短路模型轉換問題。考慮如何建圖。我們可以發現,對於每一條公交線路,可以將這條線路上 可以到達的兩個點 連一條權值為 1 的邊。獲取一條公交線路上的每乙個點可以使用讀取每乙個字元的方式,注意要先讀取第一行的換行符。然後就是普通的 bfs 求圖的最短路問題了。最後注意特判輸出no和 ...
最優乘車 bfs
description h城是乙個旅遊勝地,每年都有成千上萬的人前來觀光。為方便遊客,巴士公司在各個旅遊景點及賓館,飯店等地都設定了巴士站並開通了一些單程巴上線路。每條單程巴士線路從某個巴士站出發,依次途經若干個巴士站,最終到達終點巴士站。一名旅客最近到h城旅遊,他很想去s公園遊玩,但如果從他所在的...
1377 最優乘車 travel
h城是乙個旅遊勝地,每年都有成千上萬的人前來觀光。為方便遊客,巴士公司在各個旅遊景點及賓館,飯店等地都設定了巴士站並開通了一些單程巴士線路。每條單程巴士線路從某個巴士站出發,依次途經若干個巴士站,最終到達終點巴士站。一名旅客最近到h城旅遊,他很想去s公園遊玩,但如果從他所在的飯店沒有一路巴士可以直接...