4、骨牌铺法

骨牌铺法
       有1×n的一个长方形,用一个1×1、1×2和1×3的骨牌铺满方格。例如当n=3时为1×3的方格。此时用1×1、1×2和1×3的骨牌铺满方格,共有四种铺法。如下图:
 
骨牌铺法
       有1×n的一个长方形,用一个1×1、1×2和1×3的骨牌铺满方格。例如当n=3时为1×3的方格。此时用1×1、1×2和1×3的骨牌铺满方格,共有四种铺法。如下图:
 
【输入样例】Domino.in
   3
 
【输出样例】Domino.out
   4
 
//include<AC自动机>
#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cstring>
#include<string>
long long b[10001];
using namespace std;
int main()
{
    int m;
    cin>>m;
    b[1]=1;
    b[2]=1;
    b[3]=4;
    for(int i=4;i<=m;i++)
    {
        b[i]=b[i-1]+b[i-2]+b[i-3];
    }
    cout<<b[m];
    return 0;
}

 

posted @ 2017-03-22 20:04  zzzzx  阅读(1731)  评论(1编辑  收藏  举报