C/C++教程

球迷呐喊c++

本文主要是介绍球迷呐喊c++,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

题目描述

在足球赛的看台上,球迷们自发地组织起来为球队呐喊助威。

他们在看台上设置了一个巨型的喇叭,他们希望使喇叭或助威的声音不停交替而不停歇。然而,这个喇叭是由压缩气体驱动的,如果你连续两秒钟强迫让它发声,喇叭就会坏掉。因此,在喇叭可以响的时候,一切都没问题;在喇叭不响的时候,球迷们就得开始呐喊。在比赛开始前,一些球迷聚在一起商量了一个助威方案:这个方案用一列0和1来表示,如果是1,则表示喇叭响,如果是0,则表示球迷呐喊。为保证喇叭不会坏掉,该方案里,不允许有连续的两个1出现。

输入格式

一个正整数n,表示方案长度。

输出格式

一个正整数,表示可行的方案数量。

样例输入

3

样例输出

5

样例输入

1

样例输出

2

问题提示

【样例1解释】

n=3时,合理方案由000、001、010、100、101,而110、011、111就不可以,故答案为5。

【数据规模】

对于30%的数据:n<10

对于50%的数据:n<20

对于100%的数据:n<45

 

代码如下:

#include<bits/stdc++.h>
using namespace std;
int f[45][2];
int main()
{
	int n;
	cin>>n;
	f[1][0] = f[1][1] = 1;
	for(int i=2;i<=n;i++)
	{
		f[i][0] = f[i-1][0] + f[i-1][1];
		f[i][1] = f[i-1][0];
	}
	cout<<f[n][0] + f[n][1];
	return 0;
}

这篇关于球迷呐喊c++的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!