AT_abc298_d [ABC298D] Writing a Numeral
题目描述
有一个字符串 $S$,初始时 $S=1$。
现在给出 $Q$ 个如下形式的操作,请按顺序依次处理:
- `1 x` :在 $S$ 的末尾添加数字 $x$。
- `2` :删除 $S$ 的首位数字。
- `3` :将 $S$ 视为一个十进制整数,输出其除以 $998244353$ 的余数。
输入格式
输入以如下格式从标准输入读入。
> $Q$
> $\mathrm{query}_1$
> $\vdots$
> $\mathrm{query}_Q$
其中 $\mathrm{query}_i$ 表示第 $i$ 个操作,格式如下之一:
> $1\ x$
> $2$
> $3$
输出格式
设第 $3$ 种操作的个数为 $q$,请输出 $q$ 行。第 $i$ 行输出第 $i$ 个 $3$ 型操作的结果。
说明/提示
## 限制条件
- $1 \leq Q \leq 6 \times 10^5$
- 对于第 $1$ 型操作,$x \in \{1,2,3,4,5,6,7,8,9\}$
- 第 $2$ 型操作仅在 $S$ 长度至少为 $2$ 时出现
- 至少存在一个 $3$ 型操作
## 样例解释 1
对于第 $1$ 个操作,$S$ 为 `1`,所以输出 $1$(即 $1$ 除以 $998244353$ 的余数)。
对于第 $2$ 个操作,$S$ 变为 `12`。
对于第 $3$ 个操作,$S$ 为 `12`,所以输出 $12$(即 $12$ 除以 $998244353$ 的余数)。
## 样例解释 3
请注意,输出的值应为对 $998244353$ 取余的结果。
由 ChatGPT 4.1 翻译