最短路 HDU2066 乙個人的旅行

2022-07-16 17:03:13 字數 1254 閱讀 1706

description

input

輸入資料有多組,每組的第一行是三個整數t,s和d,表示有t條路,和草兒家相鄰的城市的有s個,草兒想去的地方有d個; 

接著有t行,每行有三個整數a,b,time,表示a,b城市之間的車程是time小時;(1=

接著的第t+1行有s個數,表示和草兒家相連的城市; 

接著的第t+2行有d個數,表示草兒想去地方。

output

輸出草兒能去某個喜歡的城市的最短時間。

sample input

6 2 3

1 3 5

1 4 7

2 8 12

3 8 4

4 9 12

9 10 2

1 28 9 10

sample output

9 分析:這道題其實一次dijkstra就可以了,我們將草兒的家看做0,從草兒家到相鄰鎮的花費看做0,那麼我們就只需要求草兒家到各個目的地的最短路即可,一次dijkstra便可解決

1 #include 2 #include 3 #include 4 #include 5

using

namespace

std;

6const

int maxn = 1050;7

const

int inf = 1

<<30;8

int9

intvis[maxn],dis[maxn];

10int

sta[maxn],endd[maxn];

11int

t,s,d;

12int

n;13

void

init()14;

23}24}

25void

dijkstra()

2643

}44 vis[pos]=1;45

for(int j=1;j<=n;j++)47}

48}49int

main()

5063

for(int i=0;i)

6468

for(int i=0;i)

6972

dijkstra();

73int minn=inf;

74for(int i=0;i)

7578 cout << minn <

8081

return0;

82 }

view code

HDU 2066 一 個人的旅行 最短路)

乙個人的旅行 time limit 1000msmemory limit 32768kb64bit io format i64d i64u submit status practice hdu 2066 description input 輸入資料有多組,每組的第一行是三個整數t,s和d,表示有t條...

hdu2066 乙個人的旅行(最短路)

problem description input 輸入資料有多組,每組的第一行是三個整數t,s和d,表示有t條路,和草兒家相鄰的城市的有s個,草兒想去的地方有d個 接著有t行,每行有三個整數a,b,time,表示a,b城市之間的車程是time小時 1 a,b 1000 a,b 之間可能有多條路 接...

hdu2066 乙個人的旅行(最短路)

problem description input 輸入資料有多組,每組的第一行是三個整數t,s和d,表示有t條路,和草兒家相鄰的城市的有s個,草兒想去的地方有d個 接著有t行,每行有三個整數a,b,time,表示a,b城市之間的車程是time小時 1 a,b 1000 a,b 之間可能有多條路 接...