程式設計題走迷宮 你竟然不知道怎麼走迷宮?其實超簡單

2021-10-13 20:15:15 字數 999 閱讀 2126

廣度優先、深度優先聽起來很高大上的樣子,其實非常好理解。

在乙個點向其周圍各個點每個點都嘗試走一下,判斷哪些能走那些不能走,把能走的點位記錄下來(叫做a1)。之後在a1的第乙個點位上選擇乙個點嘗試其周圍點位是否能走,把能走的記錄下來(叫做a2)。再在a1的第二個點位上判斷其周圍點位是否能走,把能走的追加記錄到a2,如此迴圈直到a1上所有的點都把其周圍的可以走的點記錄到a2中。

接下來把a2當做a1繼續上一段的探索。

在乙個點向其周圍各個點每個點都嘗試走一下,當找到乙個可以行走的點的時候,以新找到的點為基準繼續尋找改點周圍那些點是否可以行走,直到找到終點或者無路可走。

無路可走的時候將基準點回退到上乙個點,繼續嘗試上乙個點周圍可以行走的點。如此往復直到找到終點。

紅色圖塊為當前探索圖塊,藍色圖塊為已經走過的圖塊。

該演算法並不是找到一條路就會結束,而是需要找到走出迷宮最短的路徑。

通過二維陣列構建迷宮,move函式是主遞迴函式(還記得進入遞迴函式後第一件事要幹啥不?判斷退出條件)。在move函式中首先判斷是否到達終點,其次判斷是否探索越界或者當前的步數已經超過了儲存的最少步數。最後累加步數,在當前位置基礎上進行上下左右的嘗試。

他們代表著當前點向上下左右嘗試失敗後當前點也就意味著失敗。所以把當前點重置,並且把當前步數減掉,回退到上乙個點。

精選 竟然還有你不知道的git神奇操作?

在git中,我們使用git config 命令用來配置git的配置檔案,git配置級別主要有以下3類 1 倉庫級別 local 優先順序最高 2 使用者級別 global 優先順序次之 3 系統級別 system 優先順序最低 通常 git 倉庫級別對應的配置檔案是當前倉庫下的.git config...

這個竟然會影響吉他手感?你肯定不知道

相信玩結他的人都知道 影響一把吉他手感的 無非就那麼幾個基礎因素 1琴頸的厚度 也就是c型或v型琴頸之類的差別 也會讓結他的手感產生不同 c型琴頸 u型琴頸 d型琴頸 v型琴頸 2我們吉他使用的 琴弦粗細也會造成 吉他手感的不同 3有效的弦長也會影響手感 這點很少人能發現 因為有效弦長會影響琴弦拉力...

想要快速來錢?你連這些竟然都不知道?!

有時候大家缺的 並不是買車買樓的大錢 但難免有手頭緊的時候 小錢也變大錢了 像100 1000這樣的數目 分分鐘都能把人愁死有木有 想要快速來錢 但是又不知道如何借 嘿嘿,不用急 小美這就把下款寶典雙手奉上 一 提交正確的資訊 1 註冊手機號實名 一定要是自己實名制認證的手機號 2 本人身份證 驗證...