骨牌覆盖
在2*N的一个长方形方格中,用一个1*2的骨牌排满方格。
Input输入N(N <= 1000)
Output输出数量 Mod 10^9 + 7
Sample Input
问有多少种不同的排列方法。
例如:2 * 3的方格,共有3种不同的排法。(由于方案的数量巨大,只输出 Mod 10^9 + 7 的结果)
3
思路:
画出前三个,你就知道了。
代码如下:
#include<iostream> #include<cstdio> using namespace std; long long int dp[1005]; int main() { dp[1] =1; dp[2] =2; int n; scanf("%d",&n); for(int i=3;i<=n;i++) dp[i] = (dp[i-1]+dp[i-2])%1000000007; printf("%lld\n",dp[n]); return 0; }