這個題目我就不說,鏈結在這裡
主要我想說的是,一開始是我用2個三圍陣列來分別標記人和箱子走過的四個方向,但不知怎麼回事行不通。。。
於是就用乙個四維陣列來標記狀態,嘻嘻,過了。。。
好吧,還是直接上**了。。。。
1 #include2 #include3 #include45using
namespace
std;
6int visited[8][8][8][8];//
記錄人和箱子的狀態
7int map[8][8];8
int dir[4][2]=,,,};//
上、下、左、右
9int
m,n;
10int
px,py,sx,sy,ex,ey;
1112
struct
point
19};
2021
void bfs(int x,int
y)34
for(int i=0;i<4;i++)
56q.push(q);
57 visited[q.x][q.y][q.bx][q.by]=1;58
}59}60 printf("
-1\n");
61}6263
64int
main()else
if(map[i][j]==3
)else
if(map[i][j]==4)81
}82}83 memset(visited,0,sizeof
(visited));
84bfs(px,py);85}
86return0;
87}88
hdu 1254 推箱子遊戲
這個題目我就不說,鏈結在這裡 主要我想說的是,一開始是我用2個三圍陣列來分別標記人和箱子走過的四個方向,但不知怎麼回事行不通。於是就用乙個四維陣列來標記狀態,嘻嘻,過了。好吧,還是直接上 了。1 include2 include3 include4 5using namespace std 6int...
HDU 1254 推箱子(搜尋)
by cxlove 以前就做過的一題,重溫一下 推箱子遊戲,首先廣搜箱子的路徑,每一次移動都要判斷人是否能到達指定位置 bfs,dfs都行 我採用兩次bfs解決問題 在箱子的移動中,判重的時候需要乙個三維陣列,箱子從不同方向過來,人的位置是不一樣的,也就意味著狀態不一樣 id cxlove incl...
HDU 1254 推箱子 雙層BFS
推箱子 time limit 1000msmemory limit 32768kb64bit io format i64d i64u submit status description 推箱子是乙個很經典的遊戲.今天我們來玩乙個簡單版本.在乙個m n的房間裡有乙個箱子和乙個搬運工,搬運工的工作就是把...