校內練習 華山論劍 最短路

2022-04-30 09:42:07 字數 1497 閱讀 1912

題目描述

話說數年一度的武林盛事「華山論劍」將至,東邪、西毒、南帝、北丐,老頑童等高手雲集華山之巔,誓要分出究竟誰是武林至尊……

如此武林盛世,當然求圍觀。據統計,有n-1位同學想去華山看熱鬧,他們分別住在編號為1-n(除華山所在地x)的地方,華山編號為x(1<=x<=n)。現在有m(1<=m<=100000)條有向道路,每條路長為ti(1<=ti<=100)。

由於每位同學看完打架後還要回家吃飯,所以要選擇最短路徑,求這n-1位同學的最短路徑(乙個來回)中最長的一條的長度。

資料保證每位同學均能到達華山處,並從華山返回。

輸入第1行: n,m,x;

第2~m+1行: ai,bi,ti,表示有一條從ai到bi的路,長度為ti.

輸出輸出僅一行,為最長最短路的長度。

樣例輸入

4 8 2

1 2 4

1 3 2

1 4 7

2 1 1

2 3 5

3 1 2

3 4 4

4 2 3

樣例輸出

10

提示對於60%的資料,滿足 1<=n<=100

對於100%的資料,滿足 1<=n<=1000。

分析:並不難的最短路。

分別正反向建邊,然後正反跑兩次最短路,再求兩次最短路之和的最大值就行了。

code:

//

it is made by holselee on 17th aug 2018

//華山論劍

#include#define max(a,b) (a)>(b)?(a):(b)

using

namespace

std;

const

int n=1001

;const

int m=1e5+7

;int

n,m,tag,h1[n],h2[n],cnt1,cnt2,dis1[n],dis2[n],ans;

bool

vis[n];

struct

nodee1[m],e2[m];

queue

t;inline

intread()

while(ch>='

0'&&ch<='9')

return flag?-num:num;

}inline

void add1(int x,int y,int

z)inline

void add2(int x,int y,int

z)void

spfa1()}}

}void

spfa2()}}

}int

main()

spfa1();spfa2();

for(int i=1;i<=n;++i)

printf(

"%d\n

",ans);

return0;

}

NYOJ 華山論劍

時間限制 1000 ms 記憶體限制 65535 kb 難度 3 描述 有n個劍客 編號1 n 相約華山比劍,分 m 次決鬥,為了節省時間,每次決鬥 編號在 l r 的劍客一起決鬥,然後xi獲勝。當進行下一次決鬥,失敗後的劍客可能再參與到決鬥,m 次決鬥後可能不止一位獲勝者 沒有失敗過就視為獲勝者 ...

輸出長劍 華山論劍

description劍,古代兵器之一,屬於 短兵 乃是兵中王者,被稱為 百兵之王 古王皆有君子之氣,亦有皇上君臨天下之說,素有 百兵之君 的美稱。古代的劍由金屬製成,長條形,有著筆直的劍身和尖銳的劍尖,後端有短柄,現在,我們想要用字串畫出劍的形狀,短柄由數字 0 組成,劍身由大寫字母i組成,比如 ...

國內SNS市場「華山論劍」

話說,2008年,是sns時代!果真,康勝大哥就推出了uchome sns產品。不止將國內老一代bbs元老動網bbs和windphp bbs遠遠拋在腦後,而且也給國內的為數不多的sns開源服務商給了乙個很大的下馬威啊!於是呢,國內的老二,老三bbs服務商忙著搞點什麼 戰略合作聯盟 其實是啥聯盟啊,有...