链接:https://ac.nowcoder.com/acm/contest/333/J
来源:牛客网
题目描述
继上次Jhadgre在楼梯上跳台阶玩了很久之后,他获得了一个很强(la)力(ji)的能力,那就是上楼梯的时候可以跨任意偶数级台阶....
今天上完课,Jhadgre又开始了他的跳台阶之旅,现在他想知道跳到第N级台阶有多少种方案数。
P.S.Jhadgre从楼梯外也就是第0级开始跳,并且依旧可以选择跳一级
输入描述:
多组数据(<=100组),每组数据包含一个整数N(2<=N<=10000)
输出描述:
对于每组数据包含一个整数表示跳到第N级台阶的方案数(答案对100000007取模)
示例1
输入
复制
3 4
输出
复制
3 6
#include<iostream>
#include<cmath>
#include<cstring>
#include<string>
#include<algorithm>
#include<stack>
#include<queue>
#define pi acos(-1.0)
using namespace std;
typedef long long LL;
const int mod = 100000007;
int dp[10000+10];
int main() {
int n,m,j,k,i,T;
dp[0]=1;
for (i=1; i<=10000; i++)
{
dp[i] = dp[i-1];
for (j=i-2; j>=0; j-=2)
{
dp[i] += dp[j];
dp[i]%=mod;
}
}
while (cin>>n)
cout<<dp[n]<<endl;
return 0;
}