bfs模板 三維迷宮hdu2102

2021-09-25 23:38:03 字數 646 閱讀 1102

有兩個地圖,#代表傳送門,可以從乙個地圖到另乙個地圖的對應位置。如果對應位置是*就會死。

*代表牆,不能走。.代表路,從(0,0,0)開始,找到p,問能否在時間內找到

bfs的模式去搜尋,但是遇到#傳送,這裡需要預處理地圖

#include#include#include#include#includeusing namespace std;

int vis[2][20][20],n,m,t,flag;

int dr[4][2]=;

char mp[2][20][20];//三維陣列,第一維代表第幾個地圖

struct node

;void bfs()

node nt;

int nx,ny,nz;

for(i=0;i<4;i++)

//走到#,不需要多花時間

q.push(nt);}}

}}

}int main()

for(k=0;k<2;k++)}}

memset(vis,0,sizeof(vis));

flag=0;

bfs();

if(!flag)printf("no\n");

}return 0;

}

HDU 2102 A計畫 三維的迷宮BFS

題意 三維的乙個迷宮,起點在第一層的s 0,0,0 處,問是否能在規定的時間內走到第二層的p 處。代表不能走,代表能夠走,代表傳送門,這裡有乙個trick,走到傳送門的時 候必需要傳送。之前沒有注意到wa了非常多遍。並且在初始的時候能夠對地圖進行一下處理,這種肯定 是不能夠走的,所以能夠把他們都變成...

BFS 三維空間迷宮

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

bfs 三維標記

做訓練賽遇到的一道題,感覺很好。大致題意 現在給你乙個地圖n m,代表是空格子,代表是有柱子阻隔。現在你站在a點,要走到b點。走的時候要遵循乙個規則 必須走相鄰的格仔,如果相鄰的格仔為有柱子格仔,那麼這個格仔與有柱子的格仔相鄰的邊 如果乙個有柱子的格仔的兩條或者多條不同的邊 了,那麼這個格仔就會變成...