2016-11-28 79 views
1

我很困惑得到一個方法來編程一個迷宮的BFS算法,廣度優先在迷宮中搜索,我如何計算狀態?

我知道我需要一個隊列,但我的問題是我如何生成狀態?

例如,迷宮包含一種機器人和孔,和塊

讓下面的是初始狀態:

R BBB 
    H 
    H 

    B G 

其中空間是空的細胞(機器人可以穿行) 而B是塊和H是孔,

我的問題是,使用BFS我需要的曲線圖(或相應的樹)

,但我不知道如何產生這些狀態?

清除我的問題,讓上面的初始狀態爲A

我怎樣才能找到狀態B,C,d ......等的狀態?

應用BFS算法

我希望這個問題是清楚的,

謝謝大家

回答

0

如果迷宮是一個網格,一個國家是一個對兩個數字:行索引和列索引。 (r,c)的鄰居是(r-1,c),(r,c-1),(r,c + 1),(r + 1,c)。您可以維護一對隊列以在您的迷宮中運行廣度優先搜索。