#zTYSDPlydlt50x5601. 蒙德里安的梦想 Mondriaan's Dream

蒙德里安的梦想 Mondriaan's Dream

题目描述

求把 N×MN \times M 的棋盘分割成若干个 1×21 \times 2 的长方形,有多少种方案。

例如当 N=2N=2M=4M=4 时,共有 55 种方案。当 N=2N=2M=3M=3 时,共有 33 种方案。

如下图所示:

输入格式

输入包含多组测试用例。

每组测试用例占一行,包含两个整数 NNMM

当输入用例 N=0N=0M=0M=0 时,表示输入终止,且该用例无需处理。

输出格式

每个测试用例输出一个结果,每个结果占一行。

样例

输入样例:

1 2
1 3
1 4
2 2
2 3
2 4
2 11
4 11
0 0

输出样例:

1
0
1
2
3
5
144
51205

样例解释

N=1,M=2N=1, M=2:只能横着铺一个 1×21 \times 2 的骨牌,共 11 种。

N=1,M=3N=1, M=3:无法用 1×21 \times 2 骨牌铺满 1×31 \times 3 棋盘,方案数为 00

N=1,M=4N=1, M=4:横着铺两个 1×21 \times 2 骨牌,共 11 种。

N=2,M=2N=2, M=2:可以竖着铺两个,或横着铺两个,共 22 种。

N=2,M=3N=2, M=333 种方案(如图)。

N=2,M=4N=2, M=455 种方案。

N=2,M=11N=2, M=11144144 种。

N=4,M=11N=4, M=115120551205 种。

数据范围

  • 1N,M111 \le N, M \le 11

时空限制

  • 时间限制:1 秒
  • 空间限制:64 MB