骨牌铺方格
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 14699 Accepted Submission(s): 7085
Description
在2×n的一个长方形方格中,用一个1× 2的骨牌铺满方格,输入n ,输出铺放方案的总数.
例如n=3时,为2× 3方格,骨牌的铺放方案有三种,如下图:
Input
输入数据由多行组成,每行包含一个整数n,表示该测试实例的长方形方格的规格是2×n (0
Output
对于每个测试实例,请输出铺放方案的总数,每个实例的输出占一行。
Sample Input
1
3
2
Sample Output
1
3
2
Source
HDU2046
思路如下:
每新增一列,新增的放置方案有:
- 前n-1列的所有排列方案末端再加上一张竖牌;
- 前n-2列的所有排列方案末端再加上两张横牌。
即递推公式为:
问题转换为求斐波那契数列。
应该注意的是后面的方案数量较大,不能使用int类型而应使用__int64类型,否则会因溢出而导致WA,还有使用printf输出时应是"%I64d"。
原文地址(本人博客):http://lanfei.sinaapp.com/2012/03/366.html
欢迎访问交流。
分享到:
相关推荐
杭电hdu acm资料所用杭电的acm题
杭电 hdu acm 第1084题的解法,ac过了,是一位学长教我的.内有一些中文说明.
写一个数据结构算法,杭电上一道题目,有关数据结构的题目。
For a positive integer n, let’s denote function f(n,m) as the m-th smallest integer x that x>n and gcd(x,n)=1. For example, f(5,1)=6 and f(5,5)=11. You are given the value of m and (f(n,m)?...
骨牌铺方格及 代码骨牌铺方格及 代码骨牌铺方格及 代码
此程序为hdu的acm2010题,就是解决水仙花数问题
acm经典题、结题报告,对初学者非常用用,我就从中学到了很多东西
ACM比赛解题报告,包括hdu1880、zoj1010、zoj1015,为原创的报告,算法不一定最优的
杭电acm解题报告 详细解析2000-2099 适合acm初学者
杭电acm 一些java语言实现的水题目
杭电的一些acm题目,都是我自己一个一个自己提交的
ACM_算法模板集史上最完整收藏版223页全免费版.pd
ACM_HDU 我的 acm 问题的一部分在 hdoj 中解决了。
HDU_ACM_1002_大数相加C源代码,利用字符串处理
noi试题和解析,对于参加acm非常有帮助
浙江大学ACM题解JU_ACM_All_Anwer,里面一本非常好的chm电子书,浙大的所有ACM题及题解都在了,对学习ACM的朋友非常的好~还等什么呢?
ACM_基础篇
Pascal acm_timus_ural_1148.pas
Pascal acm_timus_ural_1099.pas
ACM__ICPC__重要补充知识.doc