UOJ Logo Universal Online Judge

UOJ

#1052. 唉被五封了

统计
1s 512MB

题目描述

沙皇热爱兵乓球,具体的,沙皇会喊来一个神金兵,并给他一个空序列,然后神金兵要进行 $n$ 次操作,每次在这个序列任意位置插入一个球,可以是黑色也可以是白色,沙皇想知道本质不同的操作方案数,具体的,设第 $i$ 次操作后的序列为 $s_i$, $s_0$ 为空,就是要数 $\{s_1,s_2,\cdots,s_n\}$ 不同的集合个数

这当然难不倒训练有素的神金兵,沙皇决定顺便考察一下神金兵的忠诚程度,沙皇的任何指示都要去做,哪怕是比登天还难!所以沙皇限定了 $s_n$,也就是限定了结束序列每个位置的球的颜色,不过有些位置可能沙皇懒得管,可以任意放黑白球,现在再来求求方案数吧!神金兵大统领!

由于答案是一个很大很大的数,沙皇不想让你花过多的时间在这里,同时他已经用 $10^{-\mathrm E} s$ 算出了结果,所以你只需要告诉沙皇答案对 $998244353$ 取模的结果让他验证一下即可。

输入格式

第一行一个数 $n$ ,意思见题目描述,第二行一个字符串 $s_n$,第 $i$ 位为 $0$ 代表这一位必须是白球,$1$ 则是黑球,$?$ 则表示沙皇懒得管,随便。

输出格式

一行一个数,表示本质不同的操作方案数对 $998244353$ 取模的结果。

样例一输入

3
01?

样例一输出

8

样例一解释

$8$ 种本质不同的操作方案如下

$\{0,00,010\},\{0,01,010\},\{0,01,011\},\{0,10,010\},\{1,01,010\},\{1,01,011\},\{1,10,010\},\{1,11,011\}$

样例二输入

9
0??001011

样例二输出

32400

数据范围与约束

对于 $100 \%$ 的数据, $1 \le n \le 5000$

$\text{subtask1 (3pts)}$ : $n=1$

$\text{subtask2 (7pts)}$ : $n \le 8$

$\text{subtask3 (15pts)}$ : $n \le 18$

$\text{subtask4 (15pts)}$ : $n \le 50$

$\text{subtask5 (15pts)}$ : $n \le 300$

$\text{subtask6 (5pts)}$ : $\forall i \in [1,n],s_i= \texttt{?}$

$\text{subtask7 (10pts)}$ : $\forall i \in [1,n],s_i\not= \texttt{?}$

$\text{subtask8 (30pts)}$ : $n \le 5000$

文明的出题人不开子任务依赖!快来赞美良心的出题人吧!