藍橋杯 磁磚樣式(dfs)

2021-09-22 07:56:34 字數 893 閱讀 1401

小明家的一面裝飾牆原來是 3*10 的小方格。

現在手頭有一批剛好能蓋住2個小方格的長方形瓷磚。

瓷磚只有兩種顏色:黃色和橙色。

小明想知道,對於這麼簡陋的原料,可以貼出多少種不同的花樣來。

小明有個小小的強迫症:忍受不了任何2*2的小格仔是同一種顏色。

(瓷磚不能切割,不能重疊,也不能只鋪一部分。另外,只考慮組合圖案,請忽略瓷磚的拼縫)

顯然,對於 2*3 個小格仔來說,口算都可以知道:一共10種貼法,如【p1.png所示】

但對於 3*10 的格仔呢?肯定是個不小的數目,請你利用計算機的威力算出該數字。

注意:你需要提交的是乙個整數,不要填寫任何多餘的內容(比如:說明性文字)

#include#include#include#include#include#include#include#include#include#includeconst int maxn=1e5+5;

typedef long long ll;

using namespace std;

int ans=0;

int vis[25][25];

int n,m;

//maps;

sets;

void dfs(int count)

} if(flag)

break;

} if(!flag)

return ;

if(y+1<=m&&!vis[x][y+1])

if(x+1<=n&&!vis[x+1][y]) }

int main()

磁磚樣式 藍橋真題

老套路 每次遞迴 都找最左上角的空白位置 這個地方是必須要填滿的 如果放不下合適的瓷磚直接返回即可 具有很強的剪枝效果 遞迴時的引數為已鋪的面積 若已鋪滿 則判重後累加答案即可 include using namespace std const int maxn 20 map mp int book...

第八屆藍橋盃國賽 磁磚樣式

題目 小明家的一面裝飾牆原來是 3 10 的小方格。現在手頭有一批剛好能蓋住2個小方格的長方形瓷磚。瓷磚只有兩種顏色 黃色和橙色。小明想知道,對於這麼簡陋的原料,可以貼出多少種不同的花樣來。小明有個小小的強迫症 忍受不了任何2 2的小格仔是同一種顏色。瓷磚不能切割,不能重疊,也不能只鋪一部分。另外,...

磁磚樣式 另一種思路的dfs

基本的dfs搜尋一般都是直接從乙個點出發,再從這個點到下乙個 但是這題使用了另一種思路的dfs 每次選擇點不是根據上乙個點來推進,而是從整個地圖中選擇沒有選過的點 也就是掃瞄一遍地圖,從中選擇還沒有使用過的點,這種方式往往用於兩個點之間的轉移規則比較複雜的情況,比如這題,每次需要使用兩個點,而不是乙...