编程语言
首页 > 编程语言> > 球迷呐喊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;
}

标签:方案,int,样例,c++,呐喊,喇叭,球迷
来源: https://blog.csdn.net/FCBerlin/article/details/120317464