1
實現DFS的我工作的一段代碼,此刻,解決了數字遊戲:爲無限多圈搜索空間
- 開始與空10×10格。
- 在隨機的正方形中放置1。
- 按順序在塊中填入數字2-100。
- 向上,向下,向左移動&正確 - 您必須將數字放在3個街區以外。
- 對角線 - 您必須將數字放在2個街區以外。
我試圖實現深度優先搜索算法來搜索所有路徑以找到(可能的)解決方案。我遇到的問題是,當搜索到達沒有更多有效移動和回溯的狀態時,我無法將塊標記爲已訪問,因爲解決方案將不可避免地從另一個路徑使用該塊,但是如果我不標記它們當訪問時,搜索將無限次地循環和重新搜索路徑。
有沒有優雅的解決方案來解決這個問題?或者我應該研究其他搜索算法以解決問題?任何暗示正確的方向將不勝感激。
例(第一3個移動):
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . 1 . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . 1 . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . 2 . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . 1 . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . 2 . . . .
. . . . . . . . . .
. . . 3 . . . . . .
. . . . . . . . . .
你能舉一個第四和第五條規則的例子嗎? –
當然可以。我很抱歉,這有點含糊。 – nickcorin
您的意思是說,在您放置一個號碼後,您會爲下一個號碼準確定位8個位置? 3個位置向右,或向左,向上或向下,或2個位置向左,向右,向左或向右?假設那8個仍然在10x10平方米內。 –