題目:
小明家的一面裝飾牆原來是 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,此時無聲勝有聲,這也算一...