文档章节

【九度OJ1390】|【剑指offer9】斐波那契数列之矩形覆盖

aqia358
 aqia358
发布于 2013/10/18 09:12
字数 281
阅读 44
收藏 0
题目描述:

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

输入:

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

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

输出:

对应每个测试案例,

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

样例输入:
4
样例输出:
5

分析:把2约掉本题即为基本的斐波那契数列求值问题


import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.StreamTokenizer;

/**
 * 斐波那契数列之矩形覆盖 
 * @author aqia358
 *
 */
public class Main {

	public static long f(int n){
		long[] a = new long[n+3];
		a[0] = 0;
		a[1] = 1;
		a[2] = 2;
		int pos = 3;
		while(pos <= n){
			a[pos] = a[pos-1] + a[pos-2];
			pos++;
		}
		return a[n];
	}
	public static void main(String[] args) throws IOException {
		StreamTokenizer st = new StreamTokenizer(new BufferedReader(new InputStreamReader(System.in)));
		while(st.nextToken() != st.TT_EOF){
			System.out.println(f((int)st.nval));
		}
	}

}





© 著作权归作者所有

共有 人打赏支持
aqia358
粉丝 6
博文 82
码字总数 30297
作品 0
海淀
程序员
剑指Offer学习总结-斐波那契数列

剑指Offer学习总结-斐波那契数列 本系列为剑指Offer学习总结,主要是代码案例的分析和实现: 书籍链接:http://product.dangdang.com/24242724.html 原作者博客:http://zhedahht.blog.163....

wwlcsdn000
01/17
0
0
剑指offer-010-斐波那契数列

问题:写一个函数,输入n,求斐波那契数列的第n项。斐波那切数列的定义如下: 一般算法:递归(时间复杂度O(2^n)) 递归解法写起来很简单,但是效率极差,因为它在不停的重复计算,根据上图就...

triorwy
01/22
0
0
剑指offer 矩阵覆盖

题目描述 我们可以用 2 1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个 2 1的小矩形无重叠地覆盖一个 2 * n的大矩形,总共有多少种方法? 思路 竖着的长度为n,横的长度为2 n = 1,明显只...

云胡_
2017/11/25
0
0
重点汇总-python-gitbook-重要点学习-4-数据结构/编程题

数据结构 - 红黑树 红黑树与AVL的比较: AVL是严格平衡树,因此在增加或者删除节点的时候,根据不同情况,旋转的次数比红黑树要多; 红黑是用非严格的平衡来换取增删节点时候旋转次数的降低;...

时间之友
2017/12/21
0
0
青蛙跳

斐波那契 数列变形 做到一个有意思的题: 一只青蛙一次可以跳上1级台阶,也可以跳上2级,该青蛙跳上一个n级的台阶总共有多少种跳法? 首先来理一下思路,做几个假设先: 找规律 从上图是不是...

_Dot大师兄
2017/10/20
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

阿里云API网关使用教程

API 网关(API Gateway)提供高性能、高可用的 API 托管服务,帮助用户对外开放其部署在 ECS、容器服务等阿里云产品上的应用,提供完整的 API 发布、管理、维护生命周期管理。用户只需进行简...

mcy0425
35分钟前
4
0
解决远程登陆误按ctrl+s锁屏假死恢复

使用putty时,偶尔发生屏幕假死,不能输入等情况。 后来发现,只要数据ctrl+s,就会假死;输入ctrl+q就可以恢复过来。 很多刚从windows转移到linux上来工作的朋友,在用vi/vim编辑文件时,常常...

HJCui
38分钟前
0
0
@Transactional

事务管理是应用系统开发中必不可少的一部分。Spring 为事务管理提供了丰富的功能支持。Spring 事务管理分为编程式和声明式的两种方式。编程式事务指的是通过编码方式实现事务;声明式事务基于...

asdf08442a
42分钟前
2
0
widows下强制解除8080端口占用问题

使用win+R打开命令窗口 输入以下命令查看哪个任务占用了8080端口 netstat -ano |findstr "8080" 然后通过任务id强制关闭占用该端口的进程 tskill 10044 // 自己的试情况而定,这个ID是LISTE...

_Artisan
52分钟前
2
0
productFlavors简单实用

最近项目中,不同环境需要配置的参数越来越多,为了减少修改代码次数。研究了一下productFlavors的使用方式,总结如下 1. as3.0以上版本使用productFlavors时需要指定一个flavorDimensions,...

火云
54分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部