2017 哈理工低年级组院赛初赛 I-布置会场 【规律】

时间限制:C/C++ 1秒,其他语言2秒
空间限制:C/C++ 32768K,其他语言65536K
64bit IO Format: %lld

题目描述

今天是Tabris和mengxiang000来到幼儿园的第3天,mengxiang000接到了一个布置会场的任务。

他需要将贵宾观众席的椅子排成一排,一共需要N个。

幼儿园只有两种椅子,所以他也只能使用两种椅子。(A类型和B类型)并且假设每种椅子的数量都是无限的。

而其如果想要摆置一个B类型的椅子,对应就需要必须有连续两个一起布置。换句话说,就是如果出现了B类型的椅子,其必须且只有两个连着B类型的椅子。

mengxiang000突然想知道对应N个椅子排成一列,他能够有多少种布置的方式.

输入描述:

本题包含多组输入第一行输入一个整数t,表示测试数据的组数
每组测试数据包含一行,输入一个整数N,表示一共需要摆放的椅子数量
t<=30
1<=N<=30

输出描述:

每组测试数据输出包含一行,表示一共有多少种布置的方式。
示例1

输入

2
2
4

输出

2
5

说明

第一个样例,AA,BB两种方案。
第二个样例,AAAA,BBBB,AABB,ABBA,BBAA五种方案  对于ABBB 因为有连续3个B类型椅子所以不可行
 
     
斐波那契数列;
 
     
 
    
#include<bits/stdc++.h>
using namespace std;
long long f[50];
int main()
{
    f[1] = 1;
    f[2] = 2;
    for(int i = 3; i < 50; i++)
        f[i] = f[i - 1] + f[i - 2];
    int N;
    cin >> N;
    while(N--)
    {
        int n;
        cin >> n;
        cout << f[n] << endl;
    }
    return 0;
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值