廣度優先搜尋練習之神奇的電梯

2021-08-04 16:36:20 字數 1164 閱讀 5789

廣度優先搜尋練習之神奇的電梯

time limit: 1000ms memory limit: 65536kb

submit statistic

problem description

有一座已知層數為n的高樓,這座高樓的特殊之處在於只能靠電梯去上下樓,所以要去到某一層要非常耽誤時間,然而更悲哀的是,這座高樓的電梯是限號的,小鑫最開始的時候在1層,他想去第x層,問題是他最起碼要經過多少層(包含第x層)才能到達第x層。

input

多組輸入。

第一行是三個正整數n,m,q。分別代表樓的總層數,給定的m條資訊和q次查詢。

接下來的m行,每行的第乙個整數pos代表這是第pos層的電梯,第二個數代表從這一層可以去的樓層總共有num個,之後的num個數字代表從第pos層代表可以去的樓層。

最後的q行,每行乙個整數代表小鑫想去的樓層號碼。

1<=m,pos,num<=n<=200

1<=q<=20

output

對於每次詢問輸出乙個整數,佔一行。代表如果要去某個樓層最少要經過多少層,如果到不了的話就輸出-1。

example input

10 4 3

1 2 6 7

3 4 4 6 8 10

5 2 2 3

7 3 10 5 6

4 5

9 example output

5 3

-1 hint

author

casithy

這道題目剛開始就想用鄰接表來完成,但是感覺有點不太對,思路沒有理清,一直沒敲出來,後來改用鄰接矩陣,ac了,先記一下,然後看看之後能不能用鄰接表來完成。

#include 

#include

#include

int n;

int ma[232][232];

int v[232];

struct node

que[232], p, q;

void bfs(int a)

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

printf("-1\n");

}int main()

}while(q--)

}return

0;}

廣度優先搜尋練習之神奇的電梯

廣度優先搜尋練習之神奇的電梯 time limit 1000ms memory limit 65536k 題目描述 有一座已知層數為n的高樓,這座高樓的特殊之處在於只能靠電梯去上下樓,所以要去到某一層要非常耽誤時間,然而更悲哀的是,這座高樓的電梯是限號的,小鑫最開始的時候在1層,他想去第x層,問題是...

廣度優先搜尋練習之神奇的電梯

廣度優先搜尋練習之神奇的電梯 time limit 1000 ms memory limit 65536 kib submit statistic problem description 有一座已知層數為n的高樓,這座高樓的特殊之處在於只能靠電梯去上下樓,所以要去到某一層要非常耽誤時間,然而更悲哀的...

廣度優先搜尋練習之神奇的電梯

有一座已知層數為n的高樓,這座高樓的特殊之處在於只能靠電梯去上下樓,所以要去到某一層要非常耽誤時間,然而更悲哀的是,這座高樓的電梯是限號的,小鑫最開始的時候在1層,他想去第x層,問題是他最起碼要經過多少層 包含第x層 才能到達第x層。多組輸入。第一行是三個正整數n,m,q。分別代表樓的總層數,給定的...