1059: 贴瓷砖

2019-04-26  本文已影响0人  茶酒qqq

题目描述

有一块大小是 2 * n 的墙面,现在需要用2种规格的瓷砖铺满,瓷砖规格分别是 2 * 1 和 2 * 2,请计算一共有多少种铺设的方法。

输入

输入的第一行包含一个正整数T(T<=20),表示一共有T组数据,接着是T行数据,每行包含一个正整数N(N<=30),表示墙面的大小是2行N列。

输出

输出一共有多少种铺设的方法,每组数据的输出占一行。

样例输入

3
2
8
12

样例输出

3
171
2731

思路:

将墙面看作长为N列,宽为2的矩形,令f(N)为N列时不同的铺设方法,易知f(N-1)为N-1列时的不同铺设方法。
当N=1时,只有一种铺设方法,即f(1)=1;
当N=2时,f(2)=3; 因为两个个2 * 1的拼有两种方法,再加上一个2 * 2的,共三种
当N=3时,可以分解为两个问题,先拼一列还是两列(因为拼两列可以用2 * 2的瓷砖,所以分类 ):

代码(AC)

1059: 贴瓷砖

上一篇 下一篇

猜你喜欢

热点阅读