hdoj 2046 骨牌铺方格 【DP】+【斐波那契】

dp果然不是好学的。。。

第n个,即2*n时,可由第n-1个的竖直排列再加一个,和第n-2个中横着排两个

所以f(n) = 1×f(n-1) + 1×f(n-2);

骨牌铺方格

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)

Total Submission(s): 28412    Accepted Submission(s): 13771

Problem Description

在2×n的一个长方形方格中,用一个1× 2的骨牌铺满方格,输入n ,输出铺放方案的总数.

例如n=3时,为2× 3方格,骨牌的铺放方案有三种,如下图:

Input

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

Output

对于每个测试实例,请输出铺放方案的总数,每个实例的输出占一行。

Sample Input

1
3
2

Sample Output

1
3
2

Author

lcy

代码:

#include<stdio.h>
__int64 ans[55] = {1, 1};
void f()
{
	for(int i = 2; i <54; i ++)
		ans[i] = ans[i-1]+ans[i-2];
}
int main()
{
	f();
	int n;
	while(scanf("%d", &n) == 1){
		printf("%I64d\n", ans[n]);
	}
}

hdoj 2046 骨牌铺方格 【DP】+【斐波那契】

时间: 2024-12-15 01:36:50

hdoj 2046 骨牌铺方格 【DP】+【斐波那契】的相关文章

HDoj 2046 骨牌铺方格

Problem Description 在2×n的一个长方形方格中,用一个1× 2的骨牌铺满方格,输入n ,输出铺放方案的总数.例如n=3时,为2× 3方格,骨牌的铺放方案有三种,如下图: Input 输入数据由多行组成,每行包含一个整数n,表示该测试实例的长方形方格的规格是2×n (0<n<=50). Output 对于每个测试实例,请输出铺放方案的总数,每个实例的输出占一行. Sample Input 1 3 2 Sample Output 1 3 2 Author lcy Source

HDU 2046 骨牌铺方格(简单递推)

链接:http://acm.hdu.edu.cn/showproblem.php?pid=2046 骨牌铺方格 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 36089    Accepted Submission(s): 17535 Problem Description 在2×n的一个长方形方格中,用一个1× 2的骨牌铺满方格,输

HDU 2046 骨牌铺方格(递推)

骨牌铺方格 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 42774    Accepted Submission(s): 20735 Problem Description 在2×n的一个长方形方格中,用一个1× 2的骨牌铺满方格,输入n ,输出铺放方案的总数. 例如n=3时,为2× 3方格,骨牌的铺放方案有三种,如下图: Inpu

hdu 2044(蜜蜂)2045(RPG难题)2046(骨牌铺方格)2047()

2044:没有仔细思考就看了题解,知道这样不好,但是还有8天就要比赛了,真是心虚到不要不要的,我打算这几天尽量把11页上的水题刷完,在回过头看看,因为实在是没有时间啦,至少到时候我不能在这些水题丢分哪.质变才能量变!! 题解:这个题可以用递归但是还有更简单的方式: 看到蜂巢上的数字其实可以明白了.相差为1或2的两个蜂巢都只有一条路能通到.而相差3的呢?其实就是走到b点相邻点的方式有几种,与b直接相邻的这有两个点.那到b定其实就是到b-1点和到b-2点的路数之和,这就回到了大家很熟悉的斐波那契数列

hdoj 2516 取石子游戏(斐波那契博弈)

Problem Description 1堆石子有n个,两人轮流取.先取者第1次可以取任意多个,但不能全部取完.以后每次取的石子数不能超过上次取子数的2倍.取完者胜.先取者负输出"Second win".先取者胜输出"First win". Input 输入有多组.每组第1行是2<=n<2^31. n=0退出. Output 先取者负输出"Second win". 先取者胜输出"First win". 参看Samp

(补题 杭电 2046)骨牌铺方格

骨牌铺方格 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 68313 Accepted Submission(s): 32884 Problem Description 在2×n的一个长方形方格中,用一个1× 2的骨牌铺满方格,输入n ,输出铺放方案的总数. 例如n=3时,为2× 3方格,骨牌的铺放方案有三种,如下图: Input 输入数据由

骨牌铺方格(杭电2046)

骨牌铺方格 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 30887    Accepted Submission(s): 14949 Problem Description 在2×n的一个长方形方格中,用一个1× 2的骨牌铺满方格,输入n ,输出铺放方案的总数. 例如n=3时,为2× 3方格,骨牌的铺放方案有三种,如下图: Inpu

[hdu-2046] 骨牌铺方格

骨牌铺方格 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 27095    Accepted Submission(s): 13089 Problem Description 在2×n的一个长方形方格中,用一个1× 2的骨牌铺满方格,输入n ,输出铺放方案的总数. 例如n=3时,为2× 3方格,骨牌的铺放方案有三种,如下图: Inpu

(hdu step 3.1.2)骨牌铺方格(简单递推:求用2*1的骨牌铺满2*n的网格的方案数)

在写题解之前给自己打一下广告哈~..抱歉了,希望大家多多支持我在CSDN的视频课程,地址如下: http://edu.csdn.net/course/detail/209 题目: 骨牌铺方格 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 744 Accepted Submission(s): 478   Problem Descriptio