母牛回家 Floyd最短路

2021-08-17 19:23:00 字數 1173 閱讀 9226

問題描述

現在是晚餐時間,而母牛們在外面分散的牧場中。農民約翰按響了電鈴,所以她們開始向穀倉走去。你的工作是要指出哪只母牛會最先到達穀倉(在給出的測試資料中,總會有且只有乙隻速度最快的母牛)。

在晚餐前,每只母牛都在她自己的牧場上,一些牧場上可能沒有母牛。每個牧場由一條條道路和乙個或多個牧場連線(可能包括自己)。有時,兩個牧場(可能是自我相同的)之間會有超過一條道路相連。至少有乙個牧場和穀倉之間有道路連線。因此,所有的母牛最後都能到達穀倉,並且母牛總是走最短的路徑。當然,母牛能向著任意一方向前進,並且她們以相同的速度前進。牧場被標記為』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...