首页 > 试题广场 >

小军砌墙

[编程题]小军砌墙
  • 热度指数:228 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 128M,其他语言256M
  • 算法知识视频讲解
【注意:本题按通过的Case比例给分】


小军接到一项工作,要用红色和绿色两种砖块建一面宽度W高度H的墙

小军只有以下两种砖块可以用:


红色砖块宽度2,高度1

绿色砖块宽度3,高度1

 

每种砖块只能按照以上的横向摆放,不能竖起来

横向两块方块之间是有缝的,因此为了让建好墙更稳固,小军会避免在任意相邻的两行间,除了左右两侧以外,出现任何上下对齐的砖缝,请参看下图:


上面一种建造方式是允许的,而下面一种建造方式不允许

特别的,下面这两种宽度为32的墙也是允许的


给定一面墙的宽度和高度后,请帮小军计算在以上规则允许的前提下,一共有多少种不同的建墙方式



输入描述:
两个整数 W 和 H (2 <= W <= 30, 1 <= H <= 10)


输出描述:
一个整数,所有可能建墙方式的数量。这个数量可能会大于32位整数的表示范围,请用64位整数
示例1

输入

5 2

输出

2
示例2

输入

9 5

输出

14