概述
题目描述
在足球赛的看台上,球迷们自发地组织起来为球队呐喊助威。
他们在看台上设置了一个巨型的喇叭,他们希望使喇叭或助威的声音不停交替而不停歇。然而,这个喇叭是由压缩气体驱动的,如果你连续两秒钟强迫让它发声,喇叭就会坏掉。因此,在喇叭可以响的时候,一切都没问题;在喇叭不响的时候,球迷们就得开始呐喊。在比赛开始前,一些球迷聚在一起商量了一个助威方案:这个方案用一列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++)AC代码的全部内容,希望文章能够帮你解决球迷呐喊(c++)AC代码所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复