下圖給出了乙個迷宮的平面圖,其中標記為1 的為障礙,標記為0 的為可以通行的地方。
010000
000100
001001
110000
迷宮的入口為左上角,出口為右下角,在迷宮中,只能從乙個位置走到這個它的上、下、左、右四個方向之一。對於上面的迷宮,從入口開始,可以按drrurrdddr 的順序通過迷宮,一共10 步。其中d、u、l、r 分別表示向下、向上、向左、向右走。對於下面這個更複雜的迷宮(30 行50 列),請找出一種通過迷宮的方式,其使用的步數最少,在步數最少的前提下,請找出字典序最小的乙個作為案。
請注意在字典序中d思路:這道題目求乙個圖的最短路徑,這是bfs的強項。但是題目還有乙個條件就由於最短路徑可能有很多條,輸出字典序最短的那條。這就需要控制一下條件,在擴充套件下乙個節點時,需要按照dlru的順序進行擴充套件,這樣如果最短路徑有很多條,那麼總是字典序最小的那一條先被找到。
**:
#include
#include
#include
using
namespace std;
const
int xn=30;
const
int yn=50;
typedef
struct nodenode;
node q[xn*yn+5]
;char a[xn+1]
[yn+1]
;int book[xn]
[yn]
;void
print
(int n)
}int
main()
,,,}
;//d,l,r,u按照字典序順序搜尋
int move[4]
=;int flag=0;
while
(headif(flag==1)
break
; head++;}
print
(tail-1)
;return0;
}
藍橋杯2017初賽 迷宮
請你計算一下,最後,有多少玩家會走出迷宮?而不是在裡邊兜圈子。答 很簡單的題吧算是,今天開始每日還就那個一更,話說這x星人確實也太懶了點吧?include include using namespace std char x 10 10 int visit 10 10 如果這個村民一直不出來他肯定會...
藍橋杯2019初賽 迷宮
迷宮 下圖給出了乙個迷宮的平面圖,其中標記為1 的為障礙,標記為0 的為可 以通行的地方。010000 000100 001001 110000 迷宮的入口為左上角,出口為右下角,在迷宮中,只能從乙個位置走到這 個它的上 下 左 右四個方向之一。對於上面的迷宮,從入口開始,可以按drrurrdddr...
藍橋杯2017初賽 迷宮 dfs
題目描述 x星球的一處迷宮遊樂場建在某個小山坡上。它是由10x10相互連通的小房間組成的。房間的地板上寫著乙個很大的字母。我們假設玩家是面朝上坡的方向站立,則 l表示走到左邊的房間,r表示走到右邊的房間,u表示走到上坡方向的房間,d表示走到下坡方向的房間。x星球的居民有點懶,不願意費力思考。他們更喜...