藍橋杯 牆壁塗色

2021-09-10 15:58:11 字數 723 閱讀 6944

蒜頭君覺得白色的牆面好單調,他決定給房間的牆面塗上顏色。他買了3 種顏料分別是紅、黃、藍,然後把房間的牆壁豎直地劃分成 n 個部分,蒜頭希望每個相鄰的部分顏色不能相同。他想知道一共有多少種給房間上色的方案。

例如,當 n=5時,下面就是一種合法方案。

由於牆壁是乙個環形,所以下面這個方案就是不合法的。

輸入格式

乙個整數n,表示房間被劃分成多少部分。(1≤n≤50)

輸出格式

乙個整數,表示給牆壁塗色的合法方案數。

樣例輸入4

樣例輸出

18

#include using namespace std;

typedef long long llint;

llint a[55];

int main()

cout<

return 0;}/*

1.第1格和n-1格顏色不同,方案數有a[n-1]

2.第1格和n-1格顏色相同,第n-2個格仔肯定和第1格不同,所以方案數是塗好n-2格的方案數(a[n-2])乘 1 (n-1格必須與第1格相同,只有一種塗法)

再乘 2 (第n格有兩種塗法)

所以,a[i]=a[i-1]+2*a[i-2];

*/

藍橋杯遞推 牆壁塗色

蒜頭君覺得白色的牆面好單調,他決定給房間的牆面塗上顏色。他買了3 種顏料分別是紅 黃 藍,然後把房間的牆壁豎直地劃分成 n 個部分,蒜頭希望每個相鄰的部分顏色不能相同。他想知道一共有多少種給房間上色的方案。例如,當n 5時,下面就是一種合法方案。藍紅黃紅黃 由於牆壁是乙個環形,所以下面這個方案就是不...

藍橋杯 計蒜客之牆壁塗色

題幹 蒜頭君覺得白色的牆面好單調,他決定給房間的牆面塗上顏色。他買了 33 種顏料分別是紅 黃 藍,然後把房間的牆壁豎直地劃分成 nn 個部分,蒜頭希望每個相鄰的部分顏色不能相同。他想知道一共有多少種給房間上色的方案。例如,當 n 5時,下面就是一種合法方案。由於牆壁是乙個環形,所以下面這個方案就是...

牆壁塗色 dp

題目描述 蒜頭君覺得白色的牆面好單調,他決定給房間的牆面塗上顏色。他買了 3 種顏料分別是紅 黃 藍,然後把房間的牆壁豎直地劃分成 n 個部分,蒜頭希望每個相鄰的部分顏色不能相同。他想知道一共有多少種給房間上色的方案。例如,當 n 5 時,下面就是一種合法方案。藍 紅 黃 紅 黃 由於牆壁是乙個環形...