CF294C Shaass and Lights

题目描述

有 $n$ 盏灯排成一行。这些灯从左到右编号为 $1$ 到 $n$。最初有一些灯是亮着的。Shaass 想把所有灯都点亮。每一步中,他可以点亮一盏灭着的灯(这盏灯此时必须是灭的),前提是它有至少一个相邻的灯已经点亮。 他知道灯的初始状态,他想知道有多少种不同的方法可以将所有灯都点亮。请你计算将所有灯点亮的方案数,对 $1000000007 (10^{9}+7)$ 取模。

输入格式

第一行包含两个整数 $n$ 和 $m$,其中 $n$ 表示所有灯的数量,$m$ 表示初始点亮的灯的数量,$1 \leq n \leq 1000, 1 \leq m \leq n$。 第二行包含 $m$ 个各不相同的整数,范围在 $1$ 到 $n$ 之间,表示初始点亮的灯的编号。

输出格式

仅一行,输出可以将所有灯点亮的不同方案数,结果对 $1000000007 (10^{9}+7)$ 取模。

说明/提示

由 ChatGPT 5 翻译