問題描述
現在是晚餐時間,而母牛們在外面分散的牧場中。農民約翰按響了電鈴,所以她們開始向穀倉走去。你的工作是要指出哪只母牛會最先到達穀倉(在給出的測試資料中,總會有且只有乙隻速度最快的母牛)。
在晚餐前,每只母牛都在她自己的牧場上,一些牧場上可能沒有母牛。每個牧場由一條條道路和乙個或多個牧場連線(可能包括自己)。有時,兩個牧場(可能是自我相同的)之間會有超過一條道路相連。至少有乙個牧場和穀倉之間有道路連線。因此,所有的母牛最後都能到達穀倉,並且母牛總是走最短的路徑。當然,母牛能向著任意一方向前進,並且她們以相同的速度前進。牧場被標記為』a』..』z』和』a』..』y』,在用大寫字母表示的牧場中有乙隻母牛,小寫字母中則沒有。穀倉的標記是』z』。注意沒有母牛在穀倉中。
輸入格式
第 1 行: 整數 p(1<= p<=10000),表示連線牧場(穀倉)的道路的數目。
第 2 ..p+1行: 用空格分開的兩個字母和乙個整數:被道路連線牧場的標記和道路的長度(1<=長度<=1000)。
輸出格式
單獨的一行包含二個專案:最先到達穀倉的母牛所在的牧場的標記,和這只母牛走過的路徑的長度。
樣例輸入
5 a d 6
b d 3
c e 9
d z 8
e z 3
樣例輸出
b 11
#include
#include
#include
#include
#include
using
namespace
std;
int map[200][200];
bool flag[150];
inline
void floyd()//模板,不做解釋 }}
}}inline
int _min(int a,int b)
int main()
for(int i='a';i<='z';i++) map[i][i]=0;//初始化
floyd();
char ans;
int min=10000000;
for(int i='a';i<='y';i++)
}printf("%c %d",ans,min);//輸出
return
0;}
謝謝各位 floyd 最短路演算法
floyd最短路徑演算法 在圖論中經常會遇到這樣的問題,在乙個有向圖裡,求出任意兩個節點之間的最短距離。我們在離散數學 資料結構課上都遇到過這個問題,在計算機網路裡介紹網路層的時候好像也遇到過這個問題,記不請了.但是書本上一律採取的是dijkstra演算法,通過dijkstra演算法可以求出單源最短...
最短路 Floyd演算法
1.定義概覽 floyd warshall演算法 floyd warshall algorithm 是解決任意兩點間的最短路徑的一種演算法,可以正確處理有向圖或負權的最短路徑問題,同時也被用於計算有向圖的傳遞閉包。floyd warshall演算法的時間複雜度為o n3 空間複雜度為o n2 2.演...
最短路 Floyd演算法
floyd演算法思想 1.初始化矩陣 i,j連線則矩陣的值為邊的代價,否則為max 2.計算 i 經過 k 到 j 的最短路徑map i,j min並儲存路徑 時間複雜度 o n 3 空間複雜度 t n 2 void floyd int n n為節點數,節點從1開始 例題 include inclu...