zoukankan      html  css  js  c++  java
  • 铺瓷砖

    【题目描述】

    用红色的 1*1 和黑色的 2*2 两种规格的瓷砖不重叠地铺满 n*3 的路面,求出有多少种不同的铺法

    【输入】

    仅仅包含一个整数 n。

    【输出】

    仅包含一个整数,表示铺设方案的数量。

    【输入示例】

    2

    【输出示例】

    3

    【思路】

    这是一道很简单的递推题。

    先列举几个数:

     

    不难发现每一个数都是前面的数*2±1的

    +1,-1,依次循环

    所以递推公式为a[i]=(a[i-1]*2+k)  (k每一次循环变换一次-1或1)

    【代码】

      

    #include<iostream>
    using namespace std;
    int main()
    {
        int i,j,n,k=-1;
        cin>>n;
        int a[100000];
        a[0]=1;
        a[1]=3;
        for(i=2;i<n;i++)
        {
            a[i]=(a[i-1]*2+k)%12345;
            if(i%2==0)
            k+=2;
            else
            k-=2;
        }
        cout<<a[n-1];
        return 0;
    }

     

  • 相关阅读:
    项目总结升级2
    项目总结升级1
    项目总结升级
    项目总结4
    项目总结3
    体温填报app2.0开发
    每日博客
    第一周开课博客
    学习日报
    学习日报
  • 原文地址:https://www.cnblogs.com/4D24/p/9436411.html
Copyright © 2011-2022 走看看