迷宮藍橋杯省賽填空題(不過被老師改成了程式設計大題)

2021-10-10 11:49:52 字數 1157 閱讀 1901

下圖給出了乙個迷宮的平面圖,其中標記為1的為障礙,標記為0的為可以通行的地方。

010000

000100

001001

110000

迷宮的入口為左上角,出口為右下角,在迷宮中,只能從乙個位置走到這個它的上、下、左、右四個方向之一。

對於上面的迷宮,從入口開始,可以按drrurrdddr的順序通過迷宮,一共 10 步。

其中 d、 u、 l、 r 分別表示向下、向上、向左、向右走。

對於乙個n行m列的迷宮(n≤30,m≤50),請找出一種通過迷宮的方式,其使用的步數最少,在步數最少的前提下,請找出字典序最小的乙個作為答案。

請注意在字典序中d第一行兩個整數n和m,分別表示迷宮的行數和列數。

接下來n行,每行由長度為m的01串組成。

乙個字串。

4

6010000

000100

001001

110000

drrurrdddr
非常簡單的一道廣搜題,只需要把四方向的順序按照字典序排一下,每次走動記錄方向就可以了,直接貼**吧

#include

using

namespace std;

intmain()

; string d =

"dlru"

;int vis[55]

[55];

memset

(vis,0,

sizeof

(vis));

for(

int i =

0; i < n; i++)}

typedef pairint,

int>

, string> p;

queuep; p.

push(,

""});

vis[0]

[0]=

1;while

(!p.

empty()

)for

(int i =

0; i <

4; i++

), q.second + d[i]})

;}}}

return0;

}

藍橋杯填空題(一)

以下 可以從陣列a中找出第k小的元素。它使用了類似快速排序中的分治演算法,期望時間複雜度是o n 的。請仔細閱讀分析原始碼,填寫劃線部分缺失的內容。include int quick select int a,int l,int r,int k int i l,j r while i j while...

藍橋杯填空題 剪郵票

如下面第一張圖,有12張連在一起的12生肖的郵票。現在你要從中剪下5張來,要求必須是連著的。僅僅連線乙個角不算相連 具體例子比如第二張,第三張圖中,粉紅色所示部分就是合格的剪取。請你計算,一共有多少種不同的剪取方法。思路 先找到5個數的組合,然後從第乙個數字開始遍歷,經過上下左右操作檢測5個數是否都...

藍橋杯填空題 獎券數目

有些人很迷信數字,比如帶 4 的數字,認為和 死 諧音,就覺得不吉利。雖然這些說法純屬無稽之談,但有時還要迎合大眾的需求。某 活動的獎券號碼是5位數 10000 99999 要求其中不要出現帶 4 的號碼,主辦單位請你計算一下,如果任何兩張獎券不重號,最多可發出獎券多少張。思路 迴圈遍歷每一位數字的...