码迷,mamicode.com
首页 > 其他好文 > 详细

信号灯

时间:2019-04-16 14:34:40      阅读:121      评论:0      收藏:0      [点我收藏+]

标签: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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!