测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A7698. [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
3
3
1 2
3
输出 #1
1
12
输入 #2
3
1 5
2
3
输出 #2
5
输入 #3
11
1 9
1 9
1 8
1 2
1 4
1 4
1 3
1 5
1 3
2
3
输出 #3
0

说明/提示

## 限制条件

- $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$ 取余的结果。
上一题 去做题 下一题