練習搜尋之三維迷宮(HDU 2102)

2022-09-09 00:39:22 字數 1229 閱讀 8287

題目:

可憐的公主在一次次被魔王擄走一次次被騎士們救回來之後,而今,不幸的她再一次面臨生命的考驗。魔王已經發出訊息說將在t時刻吃掉公主,因為他聽信謠言說吃公主的肉也能長生不老。年邁的國王正是心急如焚,告招天下勇士來拯救公主。不過公主早已習以為常,她深信智勇的騎士lj肯定能將她救出。現據密探所報,公主被關在乙個兩層的迷宮裡,迷宮的入口是s(0,0,0),公主的位置用p表示,時空傳輸機用#表示,牆用表示,平地用.表示。騎士們一進入時空傳輸機就會被轉到另一層的相對位置,但如果被轉到的位置是牆的話,那騎士們就會被撞死。騎士們在一層中只能前後左右移動,每移動一格花1時刻。層間的移動只能通過時空傳輸機,且不需要任何時間。

輸入:

輸入的第一行c表示共有c個測試資料,每個測試資料的前一行有三個整數n,m,t。 n,m迷宮的大小nm(1 <= n,m <=10)。t如上所意。接下去的前nm表示迷宮的第一層的布置情況,後nm表示迷宮第二層的布置情況。

輸出:

如果騎士們能夠在t時刻能找到公主就輸出「yes」,否則輸出「no」。

1

5 5 14

s*#*.

.#...

.....

****.

...#.

..*.p

#.*..

***..

...*.

*.#..

輸出:

yes
分析:

乙個簡單的三維搜尋,只不過有個坑點,「#」傳送之後不能是「#」或者「*」,再或者不能直接是「p」。知道這些之後,直接bfs走起。

#include#include#include#includeusing namespace std;

char date[2][15][15];

int vis[2][15][15];

int dir[2] = ,,, };

int n, m, time;

struct nood ;

bool bfs(int k, int x, int y, int t)

}if (date[e.k][e.x][e.y] == '#') }}

} }return false;

}int main()

return 0;

}

三維迷宮問題

通過該圖可以清楚的知道,迷宮的路徑可能有多個,多條,廣度優先總是從距離近到遠進行遍歷,所以可以達到搜尋出最短路徑。3維空間 迷宮問題 int go 3 int maze 30 50 50 bool mark 30 50 50 struct n path 333 void print3 int i 當...

智慧型晶元之三維記憶體

三維記憶體 即 3dm 的構想是乙個附加元件 專門用於 演示,模擬自然界萬物變化的一種裝置,也是傳統計算機x86架構的補充,目的為了構成智慧型計算機 簡稱 aic 三維記憶體是由許多個的單個儲存單元經過串聯併聯構成立方體的電路系統,內部每個儲存單元都有上下左右前後六條連線,使每個儲存單元可以相互傳遞...

php三維陣列定義,PHP陣列之三維陣列

area array china array 上海 湖北 天津 北京 array hd 海淀 朝陽 房山 cp 昌平 廣東 array 深圳 廣州 佛山 dg 東莞 usa array 華盛頓 舊金山 紐約 array 曼哈頓區 皇后區 布魯克林區 echo var dump area echo 輸...