在2*N的一个长方形方格中,用一个1*2的骨牌排满方格。
Input
输入N(N <= 1000)
Output
输出数量 Mod 10^9 + 7
Sample Input
Sample Output
问有多少种不同的排列方法。
例如:2 * 3的方格,共有3种不同的排法。(由于方案的数量巨大,只输出 Mod 10^9 + 7 的结果)
3
3
#include<stdio.h>
#include<string.h>
#define mod 1000000007
using namespace std;
const int N = 1005;
int dp[N];
int solve(int n){
dp[1]=1;
dp[2]=2;
for(int i=3;i<=n;i++)
dp[i]=(dp[i-1]+dp[i-2])%mod;
return dp[n];
}
int main(){
int n;
scanf("%d",&n);
printf("%d\n",solve(n));
return 0;
}