題目大意
蒜頭君覺得白色的牆面好單調,他決定給房間的牆面塗上顔色。他買了 33 種顔料分别是紅、黃、藍,然後把房間的牆壁豎直地劃分成 nn 個部分,蒜頭希望每個相鄰的部分顔色不能相同。他想知道一共有多少種給房間上色的方案。
例如,當 n=5n=5 時,下面就是一種合法方案。

由于牆壁是一個環形,是以下面這個方案就是不合法的。
輸入格式
一個整數 nn,表示房間被劃分成多少部分。(1≤n≤501≤n≤50)
輸出格式
一個整數,表示給牆壁塗色的合法方案數。
樣例輸入
4
樣例輸出
18
dp[n]表示n塗色的合法方案數。(即每個相鄰顔色不相同且n和第一個不相同)
1.當n-1和1處顔色不同時,那麼n處隻能有一種選擇。那麼這種情況時,dp[n]=dp[n-1]
(n-1個合法方案中每一種都滿足情況1)
2.當n-1和1處顔色相同時,那麼n處有兩種選擇。
(這時,n-1與1顔色相同,這種情況共dp[n-2]種:n-2種合法方案後,面再加一個與1處的相同顔色n-1,就是情況2的方案數)
那麼,滿足一般條件n>3的狀态轉移方程為:
dp[i]=2*dp[i-2]+dp[i-1];
存在不滿足一般條件的特殊情況:(手算即可)
dp[0]=3;
dp[1]=6;
dp[2]=6;