#P17572. PM4445 多边形分割
PM4445 多边形分割
题目描述
给定一个有 条边的凸多边形。你可以进行若干次切割,每次选择两个顶点并用一条线段连接它们,该线段必须把当前的某一个多边形恰好分成两个多边形。
最终要求恰好得到 个多边形。多边形的每个顶点都是互相可区分的,切割的先后顺序不影响方案是否相同。
例如,一个四边形若不切割有 种方案;若切成两个多边形,则两条对角线分别对应一种方案,因此有 种方案。
请计算不同切割方案的数量。答案可能很大,请对 取模。如果无法把多边形切成恰好 个部分,输出 。
输入格式
输入一行两个整数 。
输出格式
输出一个整数:若存在合法方案,输出方案数对 取模后的结果;否则输出 。
样例 1
输入
4 2
输出
2
样例 2
输入
100 1
输出
1
样例 3
输入
6 4
输出
14
样例 4
输入
3 4
输出
-1
数据范围
- ;
- 。
说明
- 顶点彼此可区分。例如,把五边形切成 个三角形共有 种不同方案,而不是 种。
- 每次切割只能把一个现有多边形分成两个多边形。