神奇砖块(递推)

【问题描述】
现在你有一个大小为3 × 𝑁的路面,以及三种不同大小的砖块:1 × 1,2 × 2以
及两个直角边都为2的直角三角形砖。现在问有多少种不同的方案,能够使用这
三种转铺满整个路面?
【输入格式】
一行一个正整数𝑁。
【输出格式】
一行一个整数代表答案对109 + 7取模之后的结果。
【样例输入】
1
【样例输出】
1
【数据规模与约定】
对于100%的数据,令斐波那契数列数列第一项为1第二项为2第𝑖项为𝑓𝑖 =
𝑓𝑖−1 + 𝑓𝑖−2,则对于第𝑖组数据,有𝑁 = 𝑓𝑖。

 

#include<bits/stdc++.h>
using namespace std;
int main(){

    long long n;
    int f[100000]; 
    cin>>n;
    const int changshu=1e9+7;
      f[1]=1; f[2]=7;
      for(int a=2;a<=n;a++)
      {
          f[a]=(f[a-1]+6*f[a-2])%changshu;
      }
    cout<<f[n]; 
    return 0;
}

 

posted @ 2019-01-29 20:27  MENG_GE  阅读(397)  评论(0编辑  收藏  举报