将一个圆盘分为N (1 <= N <= 105)个扇形,每个扇形可涂红R、黄G、蓝B三种颜色中的一种,但相邻两个扇形的颜色必须不同,问有多少种涂法。
标签:data 颜色不同 amp std tps 方案 必须 span 一个
JDOJ3008 圆盘染色
https://neooj.com/oldoj/problem.php?id=3008
将一个圆盘分为N (1 <= N <= 105)个扇形,每个扇形可涂红R、黄G、蓝B三种颜色中的一种,但相邻两个扇形的颜色必须不同,问有多少种涂法。
输入一个整数N,表示将圆盘分为多少个扇区。
输出一个整数,表示N个扇区染成RGB,相邻扇区颜色不同的方案数,答案可能会很大,结果模上2333333。
#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; }
标签:data 颜色不同 amp std tps 方案 必须 span 一个
原文地址:https://www.cnblogs.com/fusiwei/p/11163294.html