C5-小面包

Posted kubab119

tags:

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

上机通过率102/150/206,为什么大家都不做我的小面包

题目描述

又要发小面包了。这次我们有许多3*6的小面包和6*6的方糕,以及一个6*N的长方形盒子,强迫症的某楠一定要把它们整齐的装到盒子里,并且要尽量装满。请问有多少总不同装法?

输入

多组数据输入。 每组一个3的倍数N(0<=N<=750)

输出

对于每组数据,输出一行,为最终计算对1000007取模得到的结果。

输入样例

3
6

输出样例

1
3

样例解释

输入为3时,只能放入一块小面包。

输入为6时,有三种情况:

(1)竖着放两块小面包

(2)横着放两块小面包

(3)放一块方糕

先放代码

#include <iostream>
#include <stdio.h>
#include <cstring>
#include <cstdlib>
#include <algorithm>
#include <ctime>

using namespace std;

int a[300];
int main()
{
    a[0] = 1;
    a[1] = 1;
    for(int i = 2; i < 300; i++)
        a[i] = (a[i-1] + 2 * a[i-2]) % 1000007;
    int n;
        while(cin>>n)
        {
            if(n==0)
                cout<<"1"<<endl;
            else
                cout<<a[n/3]<<endl;
        }

    return 0;
}

思路

先统统除3

f(1)=1,f(2)=3

当n>3时,1*2横放,有f(n-2)种,1*2竖放,有f(n-1)种,2*2铺,有f(n-2)种,所以 f(n)=f(n-1)+2*f(n-2)

来一张丑不拉几的图

技术图片

以上是关于C5-小面包的主要内容,如果未能解决你的问题,请参考以下文章

若依 vue前端 动态设置路由path不同参数 在页面容器里打开新页面(新路由),面包屑和标签页标题根据参数动态改变,面包屑多级标题,侧边栏对应菜单亮起

scratch小老鼠偷面包 电子学会图形化编程scratch等级考试二级真题和答案解析2022年9月

scratch小老鼠偷面包 电子学会图形化编程scratch等级考试二级真题和答案解析2022年9月

Android课程---Android Studio使用小技巧:提取方法代码片段

android小知识点代码片段

微信小程序代码片段分享