logo AlgoBeat OnlineJudge
登录 注册

#216809. [蓝桥杯 2026 国 Python A] 亮灭反转

内存限制:512 MiB 时间限制:3000 ms 标准输入输出
题目类型:VJudge(洛谷) 评测方式:VJudge
上传者: 匿名

题目描述

小蓝面前排列着 盏灯,每盏灯起初要么是亮的,要么是灭的。因此,一共有 种不同的初始状态。

对于某种初始状态,小蓝会进行 次独立的观察,每次观察均直接从该初始状态出发(各次观察之间互不影响):

  • 次观察:不改变任何灯的状态,记录此时整排灯中亮灯的数量。
  • 次观察():在初始状态的基础上,先将前 盏灯的状态进行反转(亮变灭、灭变亮),然后记录此时整排灯中亮灯的数量。

记这 次观察得到的亮灯数量依次为 。如果在序列 中,不同元素的个数恰好为 ,则称这个初始状态是美好的。

现在,请你帮助小蓝计算,一共有多少种美好的初始状态。由于答案可能很大,你只需要给出答案对 取模后的结果即可。

输入格式

输入一行,包含两个整数 ,中间用一个空格隔开。

输出格式

输出一个整数,表示合法初始状态的数量对 取模后的结果。

样例

样例输入 1

3 2

样例输出 1

2

数据范围与提示

【样例说明】

时,符合要求的合法初始状态共有 种,分别为“灭、亮、灭”和“亮、灭、亮”:

若初始状态为“灭、亮、灭”时,执行各次观察得到的亮灯数量序列 。其中不同元素有 ,共 种。

若初始状态为“亮、灭、亮”时,执行各次观察得到的亮灯数量序列 。其中不同元素有 ,共 种。

可以验证,只有这 种初始状态满足不同元素个数恰好为 的条件。

【评测用例规模与约定】

对于 的评测用例,

对于 的评测用例,,

对于所有评测用例,,