编程题
### 问题描述 小蓝是一个安全意识很强的男生,他绝对不允许别人动他的电脑,于是他给自己的电脑设置了一个密码($PIN$)。$PIN$ 只由十进制数字 $0$ 到 $9$ 组成,但是由于硬盘太小,于是他就只设置了一个 $n(n \le 5000)$ 位的 $PIN$。 这一天,他想要打开电脑的时候,他发现他忘记了 $PIN$,但是幸好他设置了提示,是一个 $10$ 位的字符串,分别代表每一位数字是否存在于 $PIN$ 的状态。 我们定义字符串 $s_{0} s_{1} ... s_{9} $ 1. 如果 $s_i$ 为 `o` ,代表数字 $i$ 存在于 $PIN$ 中; 2. 如果 $s_i$ 为 `?` ,代表数字 $i$ 可能存在于 $PIN$ 中; 3. 如果 $s_i$ 为 `x` ,代表数字 $i$ 不存在于 $PIN$ 中; 小蓝想要询问,可能的 $PIN$ 有多少种,答案对 $998244353$ 取模。 ### 输入格式 第一行一个整数 $n$,保证 $n \le 5000$。 第二行是一个长度为 $10$ 的字符串,保证只出现 `x`,`o`,`?` 三种字符。 ### 输出格式 一个整数,代表密码的种类数量,答案对 $998244353$ 取模。 ### 样例输入 ```bash 5 ooxxxxxxxx ``` ### 样例输出 ```bash 30 ``` ### 说明 密码必须只包含 $0,1$,并且不能全为 $0$ 或者全为 $1$。 所以答案为:$2^5 - 2 = 30$。
查看答案
赣ICP备20007335号-2