骨牌铺法

来源:互联网 发布:串口读取电子秤数据 编辑:程序博客网 时间:2024/05/16 18:41

题目描述

有1×n的一个长方形,用一个1×1、1×2和1×3的骨牌铺满方格。例如当n=3时为1×3的方格。此时用1×1、1×2和1×3的骨牌铺满方格,共有四种铺法。如图所示。

输入

输出

样例输入

3

样例输出

4
递归会超时,然后不会写,就用数学规律写了。
#include <iostream>using namespace std; int main(){    int i,n;    cin>>n;    int a[4],t;    a[1]=1;a[2]=2;a[3]=4;    if(n<=3) cout<<a[n]<<endl;    else    {        for(i=4;i<=n;i++)        {            t=a[1];            a[1]=a[2];            a[2]=a[3];            a[3]=a[1]+a[2]+t;        }        cout<<a[3]<<endl;    }}


原创粉丝点击