AT_tupc2023_o 0100 Insertion
题目描述
“良好字符串”是指,从空字符串出发,通过重复以下操作得到的字符串 $T$:
- 在 $T$ 的任意位置插入 `0100`。
现给定一个由 `0`、`1`、`?` 组成的、长度为 $N$ 的字符串 $S$。请计算,通过将每个 `?` 替换为 `0` 或 `1`,一共能得到多少个“良好字符串”,并对 $998244353$ 取模。
输入格式
输入从标准输入中以以下格式给出:
> $N$ $S$
输出格式
输出答案。
说明/提示
### 样例解释 1
在能通过替换 $S$ 中的 `?` 得到的所有字符串中,只有 `00100100` 和 `01000100` 这两个是良好字符串。
### 数据范围
- $4 \leq N \leq 500$
- $N$ 是 $4$ 的倍数
- $S$ 是长度为 $N$ 的、仅包含 `0`、`1` 和 `?` 的字符串
由 ChatGPT 5 翻译