2017藍橋杯B組國賽 瓷磚樣式

2021-09-20 15:28:03 字數 899 閱讀 4506

題目:

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

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

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

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

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

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

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

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

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

解題思路:

用dfs來做,黃色瓷磚用1表示,橙色用2來表示,用a陣列來表示起始的狀態,由於2*2的小格仔不是同一種顏色,用乙個judge函式來判斷是否滿足條件。

/*

ctgu_yyf

*/#include#include#include#include#include#include#include#include#include#define ll long long

using namespace std;

int res;

bool judge(int x,int y)

void dfs(int x,int y)

if(y>10)

if(judge(x,y))

}if(judge(x,y))

} } else }

int main()

藍橋杯2017國賽 瓷磚樣式 dfs map

但對於 3 10 的格仔呢?肯定是個不小的數目,請你利用計算機的威力算出該數字。注意 你需要提交的是乙個整數,不要填寫任何多餘的內容 比如 說明性文字 這道題雖然是填空,但是真的好難的,對於dfs不太好的我來說,扣了一下午才扣出來。一看就是要用dfs 藍橋杯對dfs是真愛 具體思路呢直接看 我讓這道...

2018藍橋杯B組國賽 雷射樣式

x星球的盛大節日為增加氣氛,用30台機光器一字排開,向太空中打出光柱。安裝除錯的時候才發現,不知什麼原因,相鄰的兩台雷射器不能同時開啟!國王很想知道,在目前這種bug存在的情況下,一共能打出多少種雷射效果?ctgu yyf include include include include includ...

藍橋盃國賽雷射樣式

x星球的盛大節日為增加氣氛,用30台機光器一字排開,向太空中打出光柱。安裝除錯的時候才發現,不知什麼原因,相鄰的兩台雷射器不能同時開啟!國王很想知道,在目前這種bug存在的情況下,一共能打出多少種雷射效果?顯然,如果只有3臺機器,一共可以成5種樣式,即 全都關上 sorry,此時無聲勝有聲,這也算一...