杭電 2066 乙個人的旅行

2022-08-03 09:57:12 字數 1143 閱讀 2954

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

接著有t行,每行有三個整數a,b,time,表示a,b城市之間的車程是time小時;(1=<(a,b)<=1000;a,b 之間可能有多條路) 

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

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

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

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

9

1 #include2 #include3 #include

4#define inf 0xfffffff

5using

namespace

std;

6int max0,map[10100][10100],flag[1010],len[1010];7

void

f1()816

for(i = 0 ; i < max0 ; i++)

1726

}27 flag[k]=1;28

for(j = 1 ; j <= max0 ; j++)

2934}35

}36}37

intmain()

3848

}49 max0=0;50

for(i = 0 ; i < t ; i++) //

輸入城市的關係

5157 max0=max(max0,max(a,b)); //

記錄最大的城市號 58}

59 max0++;

60for(i = 0 ; i < s ; i++)

6165

for(i = 0 ; i < d ; i++)

6670

f1();

71 printf("

%d\n

",len[max0]);72}

7374 }

杭電 2066 乙個人的旅行

此題原來提交了乙份floyd warshall演算法的 然後結果是超時,所以寫了乙個dijkstra演算法的,ac!include 樣例可能的最大的邊數 define maxn 2000 初始化用到的最大值 define inf 100000 儲存城市與城市之間耗費時間的最小權值 intmat ma...

2066 乙個人的旅行

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

hdu 2066 乙個人的旅行

我覺得這題應該用floyd演算法會更好一點吧,猜的,還沒學,囧.我是用dijstra暴力水過.嗯開始學floyd code include include include include include include include include include include include ...