NYOJ-252 01串
01串
时间限制:1000 ms | 内存限制:65535 KB
难度:2
- 描写叙述
-
ACM的zyc在研究01串,他知道某一01串的长度,但他想知道不含有“11”子串的这样的长度的01串共同拥有多少个。他希望你能帮帮他。
注:01串的长度为2时,有3种:00,01。10。
- 输入
- 第一行有一个整数n(0<n<=100),表示有n组測试数据;
随后有n行,每行有一个整数m(2<=m<=40)。表示01串的长度; - 输出
- 输出不含有“11”子串的这样的长度的01串共同拥有多少个,占一行。
- 例子输入
-
2 2 3
- 例子输出
-
3 5
01.
#include<iostream>
02.
using
namespace
std;
03.
int
main()
04.
{
05.
int
num[41][2],i;
06.
num[2][0]=2;
//长为2,结尾为0
07.
num[2][1]=1;
//长为2。结尾为1
08.
for
(i=3;i<41;i++)
09.
{
10.
num[i][0]=num[i-1][1]+num[i-1][0];
11.
num[i][1]=num[i-1][0];
12.
}
13.
int
n,m;
14.
cin>>n;
15.
while
(n--)
16.
{
17.
int
m;
18.
cin>>m;
19.
cout<<num[m][0]+num[m][1]<<endl;
20.
}
21.
return
0;
22.
}