nyoj 1248 海島爭霸

2021-08-19 03:44:28 字數 1383 閱讀 9226

時間限制:1000 ms  |  記憶體限制:65535 kb

難度:3

描述

神秘的海洋,驚險的探險之路,打撈海底寶藏,激烈的海戰,海盜劫富等等。加勒比海盜,你知道吧?傑克船長駕駛著自己的的戰船黑珍珠1號要征服各個海島的海盜,最後成為海盜王。 這是乙個由海洋、島嶼和海盜組成的危險世界。傑克船長準備從自己所占領的島嶼a開始征程,逐個去占領每乙個島嶼。面對危險重重的海洋與詭譎的對手,如何憑藉智慧型與運氣,建立起乙個強大的海盜帝國。

傑克船長手頭有一張整個海域的海圖,上面詳細地記錄了各個海嶼的位置,以及海嶼之間的通航路線。但他發現,有的航海路線太危險了,傑克船長的戰船很難直接通過,他必須想方設法繞道航行;還有的島嶼根本到達不了。

傑克船長現在想把航行的危險程度降到最小。具體地來說,就是傑克船長提出若干個詢問,他想知道從島嶼a 到島嶼b 有沒有行駛航線,若有的話,所經過的航線,危險程度最小可能是多少。

輸入

第1行: n m 表示有n個島嶼,m條直航路線

第2~m+1行: a b v 表示從島嶼a到島嶼b的航海路線的危險程度值為v。

接下面一行

: q 表示詢問的次數。

之後有q個行: a b 表示詢問從島嶼a 到島嶼b 所經過的航線,危險程度最小值

1所有資料都是正整數。輸入資料之間有乙個空格。

輸出

對於每個詢問,輸出佔一行,乙個整數,表示從島嶼a 到島嶼b 所經過的航線,危險程度最小值;若從島嶼a 無法到達島嶼b,則輸出-1。

樣例輸入

10 8

1 2 5

1 3 2

2 3 11

2 4 6

2 4 4

6 7 10

6 10 5

10 7 2

52 3

1 43 7

6 78 3

樣例輸出55

-15-1

#include #include#includeusing namespace std;

#define inf 0x3fffffff

#define maxn 105

int edge[maxn][maxn];

int a[maxn][maxn],path[maxn][maxn];

int n,m;

void floyd()

}}int main()

floyd();

int shortest[maxn];

scanf("%d",&q);

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

}return 0;

}

nyoj 1248 海島爭霸 floyd變形

神秘的海洋,驚險的探險之路,打撈海底寶藏,激烈的海戰,海盜劫富等等。加勒比海盜,你知道吧?傑克船長駕駛著自己的的戰船黑珍珠1號要征服各個海島的海盜,最後成為海盜王。這是乙個由海洋 島嶼和海盜組成的危險世界。傑克船長準備從自己所占領的島嶼a開始征程,逐個去占領每乙個島嶼。面對危險重重的海洋與詭譎的對手...

nyoj 1248 海島爭霸 (並查集)

時間限制 1000 ms 記憶體限制 65535 kb 難度 2 描述 神秘的海洋,驚險的探險之路,打撈海底寶藏,激烈的海戰,海盜劫富等等。加勒比海盜,你知道吧?傑克船長駕駛著自己的的戰船黑珍珠1號要征服各個海島的海盜,最後成為海盜王。這是乙個由海洋 島嶼和海盜組成的危險世界。傑克船長準備從自己所占...

HNACM 七 B 海島爭霸

神秘的海洋,驚險的探險之路,打撈海底寶藏,激烈的海戰,海盜劫富等等。加勒比海盜,你知道吧?傑克船長駕駛著自己的的戰船黑珍珠1號要征服各個海島的海盜,最後成為海盜王。這是乙個由海洋 島嶼和海盜組成的危險世界。傑克船長準備從自己所占領的島嶼a開始征程,逐個去占領每乙個島嶼。面對危險重重的海洋與詭譎的對手...