POJ 2251 三維BFS (求最短時間

2021-10-24 12:48:05 字數 604 閱讀 5478

三維的空間,起始位置是 s  出口在  e   問最短多少時間可以逃出來

把二維的 bfs 換成三維  套模板就行

#include#include#include#includeusing namespace std;

char map[55][55][55];//存地圖

bool vis[55][55][55];//標記

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

int flag;//標記是否到達目標點

int head;//當前指標

int tail; //入隊指標

int ans=0;//最小時間

int l,r,c;

struct node

a[100000];

bool judge(int x,int y,int z)

else

return true;

}void bfs()

}flag=0;

bfs();

if(flag==1)

cout<<"escaped in "

}return 0;

}

POJ 2251(基礎三維BFS)

poj2251 在乙個三維格仔裡面,有兩種格仔,一種可以走一種不能。給定乙個起點和終點問從起點最少走多少步可以到達終點。很基礎的一道bfs,在這裡記錄一下以後處理類似的問題乙個技巧 通過xx yy zz陣列實現乙個人迴圈將乙個節點周圍的元素入隊。include include include inc...

立體最短路徑,廣搜 POJ2251

參考了一下大神們的解法。也有用深搜的。然而,之前不久看到一句話,最短路徑 bfs。參考 include include include include using namespace std char map 35 35 35 存放地圖 bool hash 35 35 35 這條路是否走過 stru...

bfs 三維標記

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