有兩個地圖,#代表傳送門,可以從乙個地圖到另乙個地圖的對應位置。如果對應位置是*就會死。
*代表牆,不能走。.代表路,從(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點。走的時候要遵循乙個規則 必須走相鄰的格仔,如果相鄰的格仔為有柱子格仔,那麼這個格仔與有柱子的格仔相鄰的邊 如果乙個有柱子的格仔的兩條或者多條不同的邊 了,那麼這個格仔就會變成...