POJ1953 World Cup Noise

来源:互联网 发布:通风管道设计绘制软件 编辑:程序博客网 时间:2024/05/22 02:10

题目大意:输入一个数n,只由0和1组成的长度为n的序列,其中1不相邻的序列有多少种。

很水的一道数学题,可以用排列排列组合(插空法)做,也可以用递推的方法。

我用的是递推的方法:

若末尾为0,则可添加0或1(两种)

若末尾为1,则只可添加0(一种)

#include <iostream>using namespace std;int main(){    int t,n,k=1;    cin>>t;    while(t--)    {        cin>>n;        cout<<"Scenario #"<<k++<<":"<<endl;        if(1==n) {cout<<2<<endl;if(t>0) cout<<endl;continue;}        int end0=1,end1=1;        for(int i=2;i<n;i++)        {            int temp=end1;            end1=end0;            end0+=temp;        }        cout<<end0*2+end1<<endl;        if(t>0) cout<<endl;    }    return 0;}


0 0