luogu#P16810. [蓝桥杯 2026 国 Python A] 亮灭反转
[蓝桥杯 2026 国 Python A] 亮灭反转
题目描述
小蓝面前排列着 盏灯,每盏灯起初要么是亮的,要么是灭的。因此,一共有 种不同的初始状态。
对于某种初始状态,小蓝会进行 次独立的观察,每次观察均直接从该初始状态出发(各次观察之间互不影响):
- 第 次观察:不改变任何灯的状态,记录此时整排灯中亮灯的数量。
- 第 次观察():在初始状态的基础上,先将前 盏灯的状态进行反转(亮变灭、灭变亮),然后记录此时整排灯中亮灯的数量。
记这 次观察得到的亮灯数量依次为 。如果在序列 中,不同元素的个数恰好为 ,则称这个初始状态是美好的。
现在,请你帮助小蓝计算,一共有多少种美好的初始状态。由于答案可能很大,你只需要给出答案对 取模后的结果即可。
输入格式
输入一行,包含两个整数 和 ,中间用一个空格隔开。
输出格式
输出一个整数,表示合法初始状态的数量对 取模后的结果。
3 2
2
提示
【样例说明】
当 时,符合要求的合法初始状态共有 种,分别为“灭、亮、灭”和“亮、灭、亮”:
若初始状态为“灭、亮、灭”时,执行各次观察得到的亮灯数量序列 为 。其中不同元素有 和 ,共 种。
若初始状态为“亮、灭、亮”时,执行各次观察得到的亮灯数量序列 为 。其中不同元素有 和 ,共 种。
可以验证,只有这 种初始状态满足不同元素个数恰好为 的条件。
【评测用例规模与约定】
对于 的评测用例,;
对于 的评测用例,, ;
对于所有评测用例,, 。