游客 Signup | Login
中文 | En

2624 - C. 兔子的难题

Input

Output

Examples

Input


                

Output


                

Solution C++

#include <cstdlib>
#include <cstdio>
#include <iostream>
#include <cstring>
using namespace std;
const int MOD = int(1e9)+7;
int dp[1005][1005];
int N;
void solve() {
    dp[0][0] = 1;
    for (int i = 1; i <= 1000; ++i)
        {
          for (int j = 0; j <= 1000; ++j)
          {
            if (j + 1 <= 1000)
            {
                dp[i][j] = dp[i-1][j+1];
                dp[i][j] %= MOD;
            }
            if (j - 2 >= 0)
            {
                dp[i][j] += dp[i-1][j-2];
                dp[i][j] %= MOD;
                if (j == 2)
                {
                    dp[i][j] += dp[i-1][j-2];
                    dp[i][j] %= MOD;
                }
            }
         }
    }
}
int main() {
    solve();
    while (scanf("%d", &N), N!=-1)
        {
        printf("%d\n", dp[N][0]);
        }
    return 0;
}

Time Limit 1 second
Memory Limit 128 MB
Discuss Stats
上一题 下一题