BFS 三維空間迷宮

2021-10-06 01:41:14 字數 1202 閱讀 8693

題面:

你被困在乙個三維的空間中,現在要尋找最短路徑逃生!空間由立方體單位構成。每次向上下前後左右移動乙個單位需要一分鐘,且不能對角線移動。空間的四周封閉。你的目標是走到空間的出口。問是否存在逃出生天的可能性?如果存在,則需要多少時間?

輸入第一行是乙個數表示空間的數量。每個空間的描述的第一行為l,r和c(皆不超過30)。l表示空間的高度,r和c分別表示每層空間的行與列的大小。隨後l層,每層r行,每行c個字元。每個字元表示空間的乙個單元。』#『表示不可通過單元,』.『表示空白單元。

你的起始位置在』s』,出口為』e』。每層空間後都有乙個空行。l,r和c均為0時輸入結束。

sample input:

3 4 5

s…..###.

.##…

###.#

##.##

##…

#.###

####e

1 3 3

s###e#

0 0 0

思路:

#include

#include

#include

using

namespace std;

const

int size=31;

char m[size]

[size]

[size]

;int visit[size]

[size]

[size]

;int l,r,c;

int dir[6]

[3]=

,,,,

,};//六種可能方向

struct node

s,e,nxt;

queue q;

bool

check

(int x,

int y,

int z)

intbfs()

}}return-1

;}intmain()

if(m[i]

[j][k]

=='e')}

}}if(

bfs()==

-1) cout<<

"escaped in "

<[nxt.tr]

[nxt.tc]

<<

" minute(s)."

<}return0;

}

三維空間剛體旋轉

剛體 運動過程中不會產生形變的物體,運動過程中同乙個向量的長度和夾角都不會發生變化。剛體變換也稱為歐式變換。旋轉矩陣 四元數旋轉向量 尤拉角安裝方式 eigen庫只有標頭檔案,沒有.so和.a二進位制檔案,所以在cmakelists.txt中只需要新增標頭檔案路徑,並不需要使用target link...

三維空間和四維空間

從螞蟻走路可以看出。由於螞蟻受限於自己的身體沒有翅膀,就跟人沒有翅膀一樣,碰到吊在自己頭頂的東西就只能繞遠路通過二維的方法到達三維的地方,所以只要有工具,可以是翅膀,可以是深深固定地上的梯子,也可以是飛機,都可以從受限的二維空間達到三維空間。而且這些手段全都是為了用來克服重力的,所以重力跟第三維有不...

三維空間幾何變換矩陣

轉 三維空間幾何變換矩陣 標籤 矩陣變換 繼之前的繞軸旋轉,這裡彙總了一下三維空間中的平移變換,比例變化,旋轉變換等數學知識 基本三維幾何變換 平移變換 若空間平移量為 tx,ty,tz 則平移變換為 比例變換 相對座標原點的比例變換 乙個點p x,y,z 相對於座標原點的比例變換的矩陣可表示為 繞...