2 回答

TA貢獻1813條經(jīng)驗 獲得超2個贊
我不熟悉游戲,但我會嘗試解釋我將如何解決這個問題。
您想要做的是在有限空間中搜索所有可用的解決方案。您可以將游戲的所有可能狀態(tài)視為一個圖形。假設您從 10 個點開始,并且您有 4 種可能的結(jié)果(1、2、3、0),您的圖表將是:
10
1/ 2| 3| 0\
/ | | \
9 8 7 10
現(xiàn)在 10 是我們的根節(jié)點,我們有 4 個選項。得 1 分到 9 或得 2 分到 8 等。
9、8、7、10是根(10)的子節(jié)點,1、2、3、0是我們可以走的路徑。
現(xiàn)在我們可以繼續(xù)擴展圖形。展開 9
10
1/ 2| 3| 0\
/ | | \
9 8 7 10
1/ 2| 3| 0\
/ | | \
8 7 6 9
您可以看到我們有 4 條新路徑,可以讓我們到達 4 個新節(jié)點。所以假設我們在我們的根節(jié)點 (10) 中,我們想要去 7 我們必須找到所有可用的路徑。在這種情況下,我們有 2:a) 得分 3 直接進入 7 b) 得分 1 進入 9 然后得分 2 進入 7
我們可以擴展圖,直到到達具有 0 的節(jié)點,我們將其稱為葉節(jié)點。
現(xiàn)在從我們的根節(jié)點到葉節(jié)點的所有路徑都是一個可能的解決方案。但要小心,因為我們有 0(未命中)作為選項,我們將達到一個永無止境的循環(huán),例如我們得到 10 分,我們錯過了(0 條路徑),我們?nèi)ネ粋€節(jié)點(10)然后我們再次錯過,依此類推。
一般來說,你應該看看圖論,因為它在解決很多問題時真的很有用。至于如何找到所有路徑,看 DFS 和 BFS 算法(也可以用遞歸實現(xiàn))。
當然沒有一個答案,但我希望我給了你一個好的起點
添加回答
舉報