导游的魔棒
Description
小C“五一”節(jié)參加了五星旅行社組織的一次外出旅游,這次旅游中,小C遇到一件非常有趣的事: 五星旅行社的導(dǎo)游小張有一根魔棒,這根魔棒在每一次的旅游中可以產(chǎn)生一次魔力(也只能產(chǎn)生一次魔力),這魔力可以使兩個景點(diǎn)間的距離減成原來的一半。小C在“五一”節(jié)的這次旅游中,很有幸是小張導(dǎo)游作為他們的導(dǎo)游,小張當(dāng)然也沒有忘記帶他的魔棒,因為他可以發(fā)揮魔棒的作用,使路程減少呢。這次旅游中,去了一個有N個景點(diǎn)的旅游區(qū),這個旅游區(qū)只有一個入口,在景點(diǎn)編號為1的地方,一個出口,在景點(diǎn)編號為N的地方,景點(diǎn)編號為1,2,3,…,N。在入口處有一個N×N的數(shù)據(jù)陣,描述了景點(diǎn)間的距離,a[I,j]表示景點(diǎn)i到景點(diǎn)j的距離。因為小C的公司有急事要小C盡快回來,現(xiàn)在小C要用張導(dǎo)游的魔棒,使得從入口到出口的距離最短。現(xiàn)在我們也來編一個程序:求將哪一條邊減半后使從頂點(diǎn)1到頂點(diǎn)N的最短路徑長度最短,輸出這個最短距離,如果找不到從1到N的路徑,則輸出 -1 。
Input
從文件中c.in讀入數(shù)據(jù),文件第一行是一個正整數(shù)N(3 ≤ N ≤ 50),表示共有N個點(diǎn),接下來是一個N行N列的數(shù)據(jù)陣,a[I,j]的值表示頂點(diǎn)i到頂點(diǎn)j的長度。
Output
只有一個數(shù)就是將一條邊長減半后的從1到N的最短路徑長度,結(jié)果四舍五入到小數(shù)后兩位,如果找不到從1到N的路徑,則輸出 -1 。
Sample Input
3
0 5 20
5 0 8
20 8 0
Sample Output
9.00
.
.
.
.
.
分析
a[i][j][0/1]表示i走到j(luò) 沒用/用了 將邊減半的最短距離
然后floyd
.
.
.
.
.
程序:
轉(zhuǎn)載于:https://www.cnblogs.com/YYC-0304/p/11094914.html
總結(jié)