「INOH」Round 1 - 狂气
题目描述
有一个无限长的序列 $\{a\}$,**数组下标从 $1$ 开始**,初始 $a_1=1$,其余位置均为 $0$。
$m$ 次操作:
1. 对于所有**奇数** $i$,令 $a_{i+1}\gets a_{i+1}+a_i$。
2. 对于所有**偶数** $i$,令 $a_{i+1}\gets a_{i+1}+a_i$。
你需要求出所有操作进行完之后的序列。
为了方便输出,你只需要输出 $( \displaystyle\prod_{i = 1}^{m} (a_i + 1))\bmod 998244353$ 的值即可。
输入输出格式
输入格式
第一行一个正整数 $m$。
第二行一个长度为 $m$ 的字符串,表示操作序列。
输出格式
一行,表示 $( \displaystyle\prod_{i = 1}^{m} (a_i + 1)) \bmod 998244353$ 的值。
输入输出样例
输入样例 #1
5
11221
输出样例 #1
200
输入样例 #2
13
1122121212212
输出样例 #2
400201782
说明
**样例 1 解释**
经过 5 次操作之后,序列前五项:
$a_1 = 1$,$a_2 = 3$,$a_3 = 4$,$a_4 = 4$,$a_5 = 0$。
**本题采用捆绑测试**。
- Subtask 0(10pts):$1 \le m \le 1000$。
- Subtask 1(20pts):操作序列形如 $\tt121212\dots$。
- Subtask 2(20pts):操作序列随机生成。
- Subtask 3(50pts):无特殊限制。
对于 $100\%$ 的数据,有 $1 \le m \le 2 \times 10^5$。
**请选手注意常数因子对运行效率的影响**