今天的编程课,老师给大家讲解了二叉树的基础知识。二叉树每个结点最多有两个孩子,且两个孩子有左右之分。
老师问大家,三个结点的二叉树有多少种不同的形态,同学们很快就回答出来了,有 5 种,如下图所示。
老师加大了难度,一棵 N 个结点, M 个叶子的二叉树,有多少种不同的形态呢?这就把大家难倒了,大家开始认真思考,做出自己的回答。
请你编程计算出该问题的正确答案,由于本题的方案数可能会非常多,最终输出的方案数 \mod (10^9 + 7) 的结果。
输入两个整数 N,M。
按题意输出计算结果。
3 2
1
10 5
252
12 9
0
对于 100\% 的数据 1 \le M \lt N \le 50。