觀察資料量,明顯不能用dfs,絕對跑不完。所以採用bfs,根據字典序dlru,所以優先走d>l>r>u,區域性最優,導致的全域性最優,最後優先到達終點的,一定是我們之前選擇的最優解。
#include
#include
using
namespace std;
int r[50]
[55];
bool book[55]
[55];
char s[
2500];
//臨時儲存
int dx=
;int dy=
;char zifu=
;string ans ="";
int n, m;
int minstep =
0x3f3f3f3f
;struct point
string road;};
queueq;
intmain()
}}q.push
(point(1
,1))
; book[1]
[1]=
1;while
(!q.
empty()
)for
(int i =
0; i <
4; i++)}}};
剛開始犯了傻,用dfs跑了好久也沒跑出來,用bfs明顯會快的多。
1、學到在結構體維護乙個road去繼承上次的選擇,保留資料。
2、在起點一定要記得標記,不然容易出大問題;
3、對字串的處理。個人習慣是從1,1開始,但是字串是從0開始,一定要注意,一開始也犯了傻。
藍橋杯 BFS 迷宮
本題為2019年省賽b組e題 要求按字典序列印軌跡 問題描述 下圖給出了乙個迷宮的平面圖,其中標記為 1 的為障礙,標記為 0 的為可 以通行的地方。010000 000100 001001 110000 迷宮的入口為左上角,出口為右下角,在迷宮中,只能從乙個位置走到這 個它的上 下 左 右四個方向...
藍橋杯2019初賽 迷宮
迷宮 下圖給出了乙個迷宮的平面圖,其中標記為1 的為障礙,標記為0 的為可 以通行的地方。010000 000100 001001 110000 迷宮的入口為左上角,出口為右下角,在迷宮中,只能從乙個位置走到這 個它的上 下 左 右四個方向之一。對於上面的迷宮,從入口開始,可以按drrurrdddr...
藍橋杯2019初賽 試題D 迷宮
嗚嗚嗚 這題做了我好久好久,一開始拿dfs寫了半天,寫是寫出來了,但是實在是太大了,笑死,根本搜不出來,後來又在網上看各種各樣的題解,總算給我給搞出來了,因為bfs本身沒有dfs掌握的牢固,所以有些不太敢拿bfs寫,晚上要把bfs的基本功加強一下,加油加油!include include using...