题目描述
有多少个不同的长度为 2N 的序列 A=(A1,A2,…,A2N) 满足以下两个条件?
- 序列 A 包含 N 个 +1 和 N 个 −1。
- 存在恰好 K 对 l 和 r (1≤l≤r≤2N),使得 Al+Al+1+⋯+Ar=0。
约束条件
- 1≤N≤30
- 1≤K≤N2
- 输入中的所有值均为整数。
输入
从标准输入按以下格式给出输入:
N K
输出
打印满足题目描述中条件的不同序列的数量。答案始终适合于有符号的 64 位整数类型。
示例输入1
1 1
示例输出1
2
对于 N=1,K=1,有两个满足条件的序列:
- A=(+1,−1)
- A=(−1,+1)
示例输入2
2 3
示例输出2
2
对于 N=2,K=3,有两个满足条件的序列:
- A=(+1,−1,−1,+1)
- A=(−1,+1,+1,−1)
示例输入3
3 7
示例输出3
6
对于 N=3,K=7,有六个满足条件的序列:
- A=(+1,−1,+1,−1,−1,+1)
- A=(+1,−1,−1,+1,+1,−1)
- A=(+1,−1,−1,+1,−1,+1)
- A=(−1,+1,+1,−1,+1,−1)
- A=(−1,+1,+1,−1,−1,+1)
- A=(−1,+1,−1,+1,+1,−1)
示例输入4
8 24
示例输出4
568
示例输入5
30 230
示例输出5
761128315856702
示例输入6
25 455
示例输出6
0
对于 N=25,K=455,没有满足条件的序列。