标签:ace turn col 输入输出格式 cout 题目 ret include iostream
通常称交通灯为红绿灯,其实是不准确的,一般信号灯有Red、Green和Yellow三种颜色。
现在有一个巨型的交通灯,一排共N个灯,它们都可以发出有红、绿、黄三种灯光。为了显目,规定:(1)不得有灭的灯;(2)相同颜色的灯相邻不得超过3个。
请你计算有多少种可靠的信号灯排列方案?
一行,一个整数N(3<N<20)。
一行,一个整数M,可行的方案数。
4
78
思路:第n个是前一个的3倍(每一种后加3种)再减去违法数(前4个的2倍)。(n>4)
代码:
#include<iostream>
using namespace std;
int n,a[45];
int main()
{
cin>>n;
a[4]=78;a[1]=3;a[2]=9;a[3]=27;
for(int i=5;i<=n;i++)a[i]=a[i-1]*3-a[i-4]*2;
cout<<a[n];
return 0;
}
标签:ace turn col 输入输出格式 cout 题目 ret include iostream
原文地址:https://www.cnblogs.com/2006hanziwei/p/10716680.html