首页 > ACM题库 > HDU-杭电 > hdu 2046 骨牌铺方格-递推-[解题报告]C++
2013
12-26

hdu 2046 骨牌铺方格-递推-[解题报告]C++

骨牌铺方格

问题描述 :

在2×n的一个长方形方格中,用一个1× 2的骨牌铺满方格,输入n ,输出铺放方案的总数.
例如n=3时,为2× 3方格,骨牌的铺放方案有三种,如下图:

输入:

输入数据由多行组成,每行包含一个整数n,表示该测试实例的长方形方格的规格是2×n (0<n<=50)。

输出:

输入数据由多行组成,每行包含一个整数n,表示该测试实例的长方形方格的规格是2×n (0<n<=50)。

样例输入:

1
3
2

样例输出:

1
3
2

http://acm.hdu.edu.cn/showproblem.php?pid=2046

这是一个简单的斐波纳契数列的转义。

和那个上台阶,一次性只能上1个或者2个,求到达第n个台阶的种数是一样的。

#include <iostream>
using namespace std;
#define MAX 53
__int64 f[MAX];

int main(){
	int n,i;
	f[1]=1;
	f[2]=2;
	for (i=3;i<=50;i++)
		f[i]=f[i-1]+f[i-2];
	while (scanf("%d",&n)!=EOF){
		printf("%I64d\n",f[n]);
	}
	return 0;
}

解题转自:http://blog.csdn.net/operator456/article/details/8522135


  1. 博主您好,这是一个内容十分优秀的博客,而且界面也非常漂亮。但是为什么博客的响应速度这么慢,虽然博客的主机在国外,但是我开启VPN还是经常响应很久,再者打开某些页面经常会出现数据库连接出错的提示