JDOJ3008 圆盘染色

JDOJ3008 圆盘染色

https://neooj.com/oldoj/problem.php?id=3008

题目描述

将一个圆盘分为N (1 <= N <= 105)个扇形,每个扇形可涂红R、黄G、蓝B三种颜色中的一种,但相邻两个扇形的颜色必须不同,问有多少种涂法。

输入

输入一个整数N,表示将圆盘分为多少个扇区。

输出

输出一个整数,表示N个扇区染成RGB,相邻扇区颜色不同的方案数,答案可能会很大,结果模上2333333。

样例输入

3

样例输出

 
圆盘染色也是递推的一个经典题目
Code:
#include<bits/stdc++.h>
int f[100100];   
int main()
{    
    int n;
    scanf("%d",&n);
    f[0]=0;
    f[1]=3;
    f[2]=6;
    f[3]=6;
    for(int i=4;i<=n;i++)
    { 
        f[i]=(f[i-1]+f[i-2]*2)%2333333;
    }
    printf("%d",f[n]);
    return 0;
}

猜你喜欢

转载自www.cnblogs.com/fusiwei/p/11163294.html
今日推荐