只有五行的演算法--Floyd-Warsha
告訴你各個城市之間的距離,讓你求從某個城市到另一個城市的最短路徑問題
因為從一個城市到另一個城市想要縮短距離,只能經過其他城市來縮短距離
</pre><pre code_snippet_id="1967318" snippet_file_name="blog_20161104_1_472332" name="code" class="cpp">#include<iostream>
#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<string>
#include<queue>
#include<algorithm>
#include<map>
#include<iomanip>
#define INF 99999999
using namespace std;
int city[6][6];
int main()
{
//建立城市之前的關係圖,自身到自身距離為0,兩個城市無法到達則為INF
for(int i=1;i<=4;i++)
for(int j=1;j<=4;j++)
{
if(i==j)
city[i][j]=0;
else city[i][j]=INF;
}
int x,y,r;
//輸入題目給出的兩個城市之間的距離
for(int i=1;i<=8;i++)
{
scanf("%d%d%d",&x,&y,&r);
city[x][y]=r;
}
for(int i=1;i<=4;i++) //經過幾號頂點 來縮短路徑
{ //從j號頂點到k號頂點的距離能否通過i號頂點作為中介縮短路程,如果可以,則更新兩點之前的最短路程
for(int j=1;j<=4;j++)
{
for(int k=1;k<=4;k++)
{
if(city[j][k]>city[j][i]+city[i][k])//如果通過i點的中轉,路徑可以縮小,則更新兩個城市之間的距離
city[j][k]=city[j][i]+city[i][k];
}
}
}
//列印出縮短後的路徑,city[i][j]代表i點到j點的最短距離
for(int i=1;i<=4;i++)
{
for(int j=1;j<=4;j++)
{
printf("%d ",city[i][j]);
}
printf("\n");
}
return 0;
}
/*測試資料
1 2 2
1 3 6
1 4 4
2 3 3
3 1 7
3 4 1
4 1 5
4 3 12
程式執行效果
0 2 5 4
9 0 3 4
6 8 0 1
5 7 10 0
*/
相關文章
- 陰陽五行筆記二十筆記
- 【分享】五行理論的辯證思考
- 資料庫趣談-五行資料庫
- 從陰陽五行,四書五經到國學的理解
- 五行命令使用docker搭建hadoop叢集DockerHadoop
- 五行合一,微服務執行態建設的“內功心法”微服務
- 通過Rxjs五行程式碼實現EventBusJS行程
- vmware只有127.0.0.1127.0.0.1
- [譯] 只有 20 行的 JavaScript 模板引擎JavaScript
- 《五行》從0到1設計遊戲——美術向覆盤遊戲
- Java只有值傳遞Java
- 學Python,只有不到15%的同學會成功Python
- iPhone 12,需要的不只有5GiPhone
- 只有使用var宣告的才是真正的變數變數
- 只有高中學歷的我是怎樣加入谷歌的?谷歌
- 用 Python 瞭解一下最炫國漫《霧山五行》Python
- 《五行》從0到1設計遊戲——策劃向開發記錄遊戲
- 《五行》從0到1設計遊戲——專案管理經驗總結遊戲專案管理
- 騰訊做遊戲的“護城河”真的只有流量嗎?遊戲
- 幽默:使用CSS中!important的原因只有一個CSSImport
- ThunderBird對只有回覆地址的郵件過濾
- CSS 只有一條橫線的輸入框CSS
- 資料,只有在用的時候才有價值。
- 伺服器,只有"鞋盒"大小伺服器
- 只有捨棄 才能成功
- 程式語言——沒有更好的,只有更適合的
- 一個只有十行的精簡MVVM框架MVVM框架
- Qt Creator 提供的預設基類只有三種QT
- 只有程式設計師瞭解的9個真相程式設計師
- 11件只有程式設計師才能理解的事情程式設計師
- 十五個只有程式設計師會樂的事情程式設計師
- App的戰國時代 15%壽命只有1周APP
- 遊戲不應該只有樂趣遊戲
- 20年,只有谷歌曾經不同谷歌
- Sysbench-0.5改成只有DML操作
- 只有程式猿能看得懂
- 阿里巴巴首次躋身全球雲端計算市場前五行列阿里
- 只有老運維人才能懂的運維乾貨運維