在2*N的一个长方形方格中,用一个1*2的骨牌排满方格。
问有多少种不同的排列方法。
例如:2 * 3的方格,共有3种不同的排法。(由于方案的数量巨大,只输出 Mod 10^9 + 7 的结果)

Input
输入N(N <= 1000)
Output
输出数量 Mod 10^9 + 7
Input示例
3
Output示例
3
#include <stdio.h>
#define MOD 1000000007;
int Fibonacci(int n)
{
int a = 1;
int b = 2;
int ans;
for (int i = 3; i <= n; i++)
{
ans = (a+b)%MOD;
a = b;
b = ans;
}
if (n<=2)
return n;
else
return ans;
}
int main()
{
int n;
scanf("%d",&n);
printf("%d\n",Fibonacci(n));
}
探讨2*N长方形方格使用1*2骨牌完全覆盖的不同排列方法,通过斐波那契数列求解,输出结果取Mod 10^9+7。

被折叠的 条评论
为什么被折叠?



