亡命逃竄(3DBFS)

2021-07-04 19:54:21 字數 1442 閱讀 4693

亡命逃竄

時間限制:

1000 ms  |  記憶體限制:

65535 kb

難度: 4 描述

從前有個叫hck的騎士,為了救我們美麗的公主,潛入魔王的老巢,夠英雄吧。不過英雄不是這麼好當的。這個可憐的娃被魔王抓住了,倍受折磨,生死一線。有一天魔王出去約會了,這可是乙個千載難逢的逃命機會。你現在的任務就是判斷一下這個英雄未遂的孩子能不能在魔王回來之前逃出魔王的城堡,成功逃生,最後迎娶我們美麗的公主。

魔王住在乙個城堡裡,城堡是乙個a*b*c的立方體,可以被表示成a個b*c的矩陣,剛開始hck被關在(0,0,0)的位置,離開城堡的門在(a-1,b-1,c-1)的位置,現在知道魔王將在t分鐘後回到城堡,hck每分鐘能從乙個座標走到相鄰的六個座標中的其中乙個.現在給你城堡的地圖,請你計算出hck能否在魔王回來前離開城堡(只要走到出口就算離開城堡,如果走到出口的時候魔王剛好回來也算逃亡成功),如果可以請輸出需要多少分鐘才能離開,如果不能則輸出-1.

如圖所示,輸入資料中的第0塊的最左上角是hck被關的地方,第a-1塊的最右下角是城堡的出口。按照圖中紅色箭頭方向移動每一層以構成整個城堡。

輸入輸入資料的第一行是乙個正整數k,表明測試資料的數量. 每組測試資料的第一行是四個正整數a,b,c和t(1<=a,b,c<=50,1<=t<=1000),它們分別代表城堡的大小和魔王回來的時間.

然後是a塊輸入資料(先是第0塊,然後是第1塊,第2塊......),每塊輸入資料有b行,每行有c個正整數,代表迷宮的布局,其中0代表路,1代表牆.

(如果對輸入描述不清楚,可以參考上面的迷宮描述,它表示的就是上圖中的迷宮)

輸出對於每組測試資料,如果hck能夠在魔王回來前離開城堡,那麼請輸出他最少需要多少分鐘,否則輸出-1.

樣例輸入

2

3 2 2 10

0 10 0

1 11 0

0 00 1

3 3 4 20

0 1 1 1

0 0 1 1

0 1 1 1

1 1 1 1

1 0 0 1

0 1 1 1

0 0 0 0

0 1 1 0

0 1 1 0

樣例輸出

-1

11

#include #include 

#include

#include

using

namespace

std;

int map[51][51][51

];int dir[6][3]=,,,,,};

struct

node

;int bfs(int a, int b, int

c) }

return -1;}

intmain()

return0;

}

view code

NYOJ 亡命逃竄

時間限制 1000 ms 記憶體限制 65535 kb 難度 4 描述從前有個叫hck的騎士,為了救我們美麗的公主,潛入魔王的老巢,夠英雄吧。不過英雄不是這麼好當的。這個可憐的娃被魔王抓住了,倍受折磨,生死一線。有一天魔王出去約會了,這可是乙個千載難逢的逃命機會。你現在的任務就是判斷一下這個英雄未遂...

題目523 亡命逃竄

從前有個叫hck的騎士,為了救我們美麗的公主,潛入魔王的老巢,夠英雄吧。不過英雄不是這麼好當的。這個可憐的娃被魔王抓住了,倍受折磨,生死一線。有一天魔王出去約會了,這可是乙個千載難逢的逃命機會。你現在的任務就是判斷一下這個英雄未遂的孩子能不能在魔王回來之前逃出魔王的城堡,成功逃生,最後迎娶我們美麗的...

NYOJ 523亡命逃竄(搜尋)

題目連線 簡單的搜尋。include include include include includeusing namespace std define clr arr,v memset arr,v,sizeof arr struct point mid struct point que 50000...