迷宮
下圖給出了乙個迷宮的平面圖,其中標記為1 的為障礙,標記為0 的為可
以通行的地方。
010000
000100
001001
110000
迷宮的入口為左上角,出口為右下角,在迷宮中,只能從乙個位置走到這
個它的上、下、左、右四個方向之一。
對於上面的迷宮,從入口開始,可以按drrurrdddr 的順序通過迷宮,
一共10 步。其中d、u、l、r 分別表示向下、向上、向左、向右走。
對於下面這個更複雜的迷宮(30 行50 列),請找出一種通過迷宮的方式,
其使用的步數最少,在步數最少的前提下,請找出字典序最小的乙個作為答案。
請注意在字典序中d思路:dfs的路徑保留我會,但是bfs的路徑保留我忘記了,就很抽象,這個題用dfs做的話和八皇后有點像,每次到達每次判斷每次覆蓋,私以為會很累,然後我就用bfs做了,就當是複習路徑列印了,在bfs中只要每次用當前的節點當成前驅,然後for迴圈中的節點當成後繼,不斷在節點中迭代路徑,那麼第乙個到達的的節點所包含的路徑必然是最小路徑,然後就完事兒了。
#include
using
namespace std;
struct node
;bool vis[35]
[55];
char st[35]
[55];
int dx=
;int dy=
;char str=
;int n=
30,m=50;
queueq;
void
bfs(
)for
(int i=
0;i<
4;i++)}
}}intmain()
}bfs()
;return0;
}
藍橋杯2019初賽 試題D 迷宮
嗚嗚嗚 這題做了我好久好久,一開始拿dfs寫了半天,寫是寫出來了,但是實在是太大了,笑死,根本搜不出來,後來又在網上看各種各樣的題解,總算給我給搞出來了,因為bfs本身沒有dfs掌握的牢固,所以有些不太敢拿bfs寫,晚上要把bfs的基本功加強一下,加油加油!include include using...
藍橋杯2017初賽 迷宮
請你計算一下,最後,有多少玩家會走出迷宮?而不是在裡邊兜圈子。答 很簡單的題吧算是,今天開始每日還就那個一更,話說這x星人確實也太懶了點吧?include include using namespace std char x 10 10 int visit 10 10 如果這個村民一直不出來他肯定會...
藍橋杯2019初賽 A組
修改陣列題目描述 給定乙個長度為n 的陣列a a1,a2,an 陣列中有可能有重複出現的整數。現在小明要按以下方法將其修改為沒有重複整數的陣列。小明會依次修改a2,a3,an。當修改ai 時,小明會檢查ai 是否在a1 ai 1 現過。如果出現過,則小明會給ai 加上1 如果新的ai 仍在之前出現過...