两个吃奶一个添下面视频_人妻第一页香蕉网_欧美xxxx少妇_妺妺窝人体色www婷婷

Dotcpp  >  編程題庫  >  數(shù)據(jù)結構-Floyd(弗洛伊德)最短路徑算法
題目 1709:

數(shù)據(jù)結構-Floyd(弗洛伊德)最短路徑算法

時間限制: 2s 內(nèi)存限制: 96MB 提交: 699 解決: 289

題目描述

在帶權有向圖G中,求G中的任意一對頂點間的最短路徑問題,也是十分常見的一種問題。
解決這個問題的一個方法是執(zhí)行n次迪杰斯特拉算法,這樣就可以求出每一對頂點間的最短路徑,執(zhí)行的時間復雜度為O(n3)。
而另一種算法是由弗洛伊德提出的,時間復雜度同樣是O(n3),但算法的形式簡單很多。
可以將弗洛伊德算法描述如下:
Floyd(弗洛伊德)最短路徑算法
在本題中,讀入一個有向圖的帶權鄰接矩陣(即數(shù)組表示),建立有向圖并按照以上描述中的算法求出每一對頂點間的最短路徑長度。

輸入格式

輸入的第一行包含1個正整數(shù)n,表示圖中共有n個頂點。其中n不超過50。
以后的n行中每行有n個用空格隔開的整數(shù)。對于第i行的第j個整數(shù),如果大于0,則表示第i個頂點有指向第j個頂點的有向邊,且權值為對應的整數(shù)值;如果這個整數(shù)為0,則表示沒有i指向j的有向邊。當i和j相等的時候,保證對應的整數(shù)為0。

輸出格式

共有n行,每行有n個整數(shù),表示源點至每一個頂點的最短路徑長度。如果不存在從源點至相應頂點的路徑,輸出-1。對于某個頂點到其本身的最短路徑長度,輸出0。
請在每個整數(shù)后輸出一個空格,并請注意行尾輸出換行。

樣例輸入

4
0 3 0 1
0 0 4 0
2 0 0 0
0 0 1 0

樣例輸出

0 3 2 1 
6 0 4 7 
2 5 0 3 
3 6 1 0 

提示

零基礎同學可以先學習視頻課程,包含C/C++、Python、百練、藍橋杯輔導、算法數(shù)據(jù)結構等課程,提供視頻講解以及配套習題,還有老師答疑,點擊這里了解課程詳情
標簽

通過率

統(tǒng) 計