首页 > 代码库 > 5-格子染色(递推)

5-格子染色(递推)

技术分享

题目内容:

 有排成一行的n个方格,用红(Red)、粉(Pink)、绿(Green)三色涂每个格子,每格涂一色,要求任何相邻的方格不能同色,且首尾两格也不同色.求全部的满足要求的涂法。

输入描述

输入正整数n


输出描述


输出结果


输入样例


5


输出样例

30

#include <iostream>
using namespace std;

int main(){
    int n, a = 1, b = 0;
    cin >> n;
    if(n == 1){
        cout << 3;
        return 0;
    }
    if(n == 2){
        cout << 6;
        return 0;
    }
    for(int i = 3; i <= n; i++){
        int yub = b;
        b = a;
        a = a + yub * 2;
    }
    cout << a * 6;
    return 0;
}

 

5-格子染色(递推)