> 文档中心 > C++ 彩带

C++ 彩带

【问题描述】

一中 90 周年校庆,小林准备用一些白色、蓝色和红色的彩带来装饰学校超市的橱窗,他希望满足以下两个条件:

(1) 相同颜色的彩带不能放在相邻的位置;

(2) 一条蓝色的彩带必须放在一条白色的彩带和一条红色的彩带中间。

现在,他想知道满足要求的放置彩带的方案数有多少种。例如,如图 9.4-1 所示为橱窗宽度n=3 的所有放置方案,共 4 种。

C++ 彩带

【输入格式】
一行一个整数 n,表示橱窗宽度(或者说彩带数目)。

【输出格式】
一行一个整数,表示装饰橱窗的彩带放置方案数。

【样例输入】
3
【样例输出】
4

【数据规模】
对 30% 的数据满足:1≤n≤15。

对 100% 的数据满足:1≤n≤45。

code

#includeusing namespace std;long long f[50];int main(){int n;cin>>n;f[1]=2;f[2]=2;for(int i=3;i<=n;++i)f[i]=f[i-1]+f[i-2];cout<<f[n];return 0;}

在这里插入图片描述

天天赞天天看!!!