专栏首页xingoo, 一个梦想做发明家的程序员剑指OFFER之矩形覆盖(九度OJ1390)

剑指OFFER之矩形覆盖(九度OJ1390)

题目描述:

我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法?

输入:

输入可能包含多个测试样例,对于每个测试案例,

输入包括一个整数n(1<=n<=70),其中n为偶数。

输出:

对应每个测试案例,

输出用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有的方法数。

样例输入:

4

样例输出:

5

解题思路:

观察题目中的矩形,2*n的,是个长条形。本来脑中想象的是复杂的华容道,但是既然只是简单的长条形,那么依然逆向分析。既然是长条形的,那么从后向前,最后一个矩形2*2的,只有两种情况:

第一种是最后是由一个2*(n-1)的矩形加上一个竖着的2*1的矩形  另一种是由一个2*(n-2)的矩形,加上两个横着的2*1的矩形  因此我们可以得出,第2*n个矩形的覆盖方法等于第2*(n-1)加上第2*(n-2)的方法。使用代码可以表示为:

for(i=3;i<71;i++){
        arr[i] = arr[i-1]+arr[i-2];
    }

  仍然要注意数据类型,为long long型

代码:

#include <stdio.h>
long long arr[71] = {0,1,2};
void createArr(void){
    int i;
    for(i=3;i<71;i++){
        arr[i] = arr[i-1]+arr[i-2];
    }
}
int main(void){
    int n;
    createArr();
    while(scanf("%d",&n) != EOF && n>=1 && n<=70){
        printf("%lld\n",arr[n]);
    }
    return 0;
}
/**************************************************************
    Problem: 1390
    User: xhalo
    Language: C
    Result: Accepted
    Time:0 ms
    Memory:916 kb
****************************************************************/

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 剑指OFFER之从二叉搜索树的后序遍历序列(九度OJ1367)

    题目描述: 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。 输入: ...

    用户1154259
  • 手把手教你从零搭建Python数据分析环境

    由于最近再做推荐系统的特征处理,需要借助一些工具来筛选特征。最初使用了R,R的安装很简单,而且API也很容易使用,直接就能出图。后来,发现很多人在python...

    用户1154259
  • 剑指OFFER之二进制中1的个数(九度OJ1513)

    题目描述: 输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。 输入: 输入可能包含多个测试样例。 对于每个输入文件,第一行输入一个整数T,代表测...

    用户1154259
  • CDB 的控制台的超时雪崩问题

    近日,测试同学 R 反馈整个测试环境,CDB 的相关页面都不能访问了,到底是什么原因导致呢 ? 本文记录了本次问题的查找过程、问题结论以及解决方案。

    云加社区
  • 201312-3

    试题编号: 201312-3 试题名称: 最大的矩形 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述...

    用户4492257
  • 5分钟内学会几个JavaScript的巧妙小技巧【译】

    这是一种旧的但有效的模式,函数调用看起来正常。但是,这样非常冗长。可以使用 ES2015 对象解构,您可以规避此缺点:

    白玉无冰
  • 和欧拉用 python 养鱼

    这是一个P的导数,相关与P函数本身的一个微分方程,Autonomous differential equations 自控微分方程 。看上去是不是很复杂,这个时...

    小小詹同学
  • Dynamic Web Module 3.0 requires Java 1.6 or newer.的解决

    ydymz
  • 神奇的虚实世界:智能眼镜的崛起

    智能眼镜的崛起,是必然的趋势。大约在四年前,我认识Steve Mann教授时,就毅然决然地去研究智能眼镜了。Steve Mann,世界穿戴电脑之父,是一个疯狂的...

    新智元
  • xhprof使用说明

    if (mt_rand(1, 10000) == 1) { //采集请求的万分之一 //xhprof_enable(XHPROF_FLAGS_MEMOR...

    苦咖啡

扫码关注云+社区

领取腾讯云代金券