2019 藍橋杯迷宮 bfs 區域性貪心

2021-10-24 16:40:20 字數 913 閱讀 2969

觀察資料量,明顯不能用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...