最短路徑之信使

2022-05-02 03:00:08 字數 912 閱讀 9793

時間限制: 1 sec  記憶體限制: 128 mb 提交: 50  解決: 18 [提交] [狀態] [討論版] [命題人:外部匯入]

題目描述

戰爭時期,前線有n個哨所,每個哨所可能會與其他若干個哨所之間有通訊聯絡。信使負責在哨所之間傳遞資訊,當然,這是要花費一定時間的(以天為單位)。指揮部設在第乙個哨所。當指揮部下達乙個命令後,指揮部就派出若干個信使向與指揮部相連的哨所送信。當乙個哨所接到信後,這個哨所內的信使們也以同樣的方式向其他哨所送信。直至所有n個哨所全部接到命令後,送信才算成功。因為準備充足,每個哨所內都安排了足夠的信使(如果乙個哨所與其他k個哨所有通訊聯絡的話,這個哨所內至少會配備k個信使)。    現在總指揮請你編乙個程式,計算出完成整個送信過程最短需要多少時間。

輸入第1行有兩個整數n和m,中間用1個空格隔開,分別表示有n個哨所和m條通訊線路。1<=n<=100。 第2至m+1行:每行三個整數i、j、k,中間用1個空格隔開,表示第i個和第j個哨所之間存在通訊線路,且這條線路要花費k天。

輸出輸出檔案msner.out,僅乙個整數,表示完成整個送信過程的最短時間。如果不是所有的哨所都能收到信,就輸出-1。

#includeusing

namespace

std;

int p[110][110

];const

int max=10086111

;int

main()

for(k=1;k<=n;k++)}}

}int s=0

;

for(i=2;i<=n;i++)

}if(tag)

printf(

"-1\n");

else

printf(

"%d\n

",s);

}return0;

}

Codeup最短路徑 最短路徑

n個城市,標號從0到n 1,m條道路,第k條道路 k從0開始 的長度為2 k,求編號為0的城市到其他城市的最短距離。第一行兩個正整數n 2 n 100 m m 500 表示有n個城市,m條道路,接下來m行兩個整數,表示相連的兩個城市的編號。n 1行,表示0號城市到其他城市的最短路,如果無法到達,輸出...

最短路徑之Floyd Warshall

最短路徑之floyd warshall1.演算法思路 若要求兩個點的最短路徑,可以通過引入第三個點來間接到目的地,若距離縮短了,那麼我們可以繼續找第四個點 知道所有的點找完了即是最短距離。假設我們點與點的距離如下圖 由圖可知,4 3的距離為12,假設我們通過1這個頂點來中轉,這時,4 3的距離就縮短...

最短路徑之spfa

其實就是用佇列對bellman ford進行優化 include include include include include include using namespace std static const int maxn 1000 點的數目 static const int inf 0x3f...