51Nod 1031 骨牌覆盖

Posted 午夜的行人

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了51Nod 1031 骨牌覆盖相关的知识,希望对你有一定的参考价值。

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

思路:斐波那契
 1 #include <iostream>
 2 #include <algorithm>
 3 #include <stdio.h>
 4 #include <cstring>
 5 using namespace std;
 6 #define ll long long
 7 const int mod = 1e9+7;
 8 ll a[10001];
 9 void lala()
10 {
11     a[1]=1;
12     a[2]=2;
13     for(int i=3;i<10001;i++){
14         a[i]=a[i-1]%mod+a[i-2]%mod;
15         a[i]%=mod;
16     }
17 }
18 int main()
19 {
20     int n;
21     cin>>n;
22     lala();
23     ll m=a[n];
24     cout<<m<<endl;
25     return 0;
26 }

 



以上是关于51Nod 1031 骨牌覆盖的主要内容,如果未能解决你的问题,请参考以下文章

51nod1031(简单斐波拉契数列)

1031 骨牌覆盖

随便玩玩系列之一:SPOJ-RNG+51nod 算法马拉松17F+51nod 1034 骨牌覆盖v3

做题51NOD1518 稳定多米诺覆盖——容斥&dp

1007 正整数分组 1010 只包含因子2 3 5的数 1014 X^2 Mod P 1024 矩阵中不重复的元素 1031 骨牌覆盖

51nod1033