hdu3485(递推)

时间:2023-03-09 01:30:58
hdu3485(递推)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3485

分析: a[i]表示长度为i,第i位为0的,符合情况的个数。

b[i]表示长度为i,第i位为1的,符合情况的个数。

c[i]表示符合情况的答案。

#include <cstdio>
#include <cstring>
#include <cmath>
#include <iostream>
#include <algorithm>
#include <queue>
#include <cstdlib>
#include <vector>
#include <set>
#include <map>
#define LL long long
#define mod 1000000007
#define inf 0x3f3f3f3f
#define N 50010
using namespace std;
int a[],b[],c[];
void init()
{
c[]=;c[]=;b[]=;b[]=;
for(int i=;i<=;i++)
{
a[i]=c[i-];
b[i]=(c[i-]-b[i-]+)%;
c[i]=(a[i]+b[i])%;
}
}
int main()
{
int n;
init();
while(scanf("%d",&n)>)
{
if(n==-)break;
printf("%d\n",c[n]);
}
}