P9297 [POI 2020/2021 R1] Licznik długu / 债务计数器
题目背景
**题目译自 [XXVIII Olimpiada Informatyczna – I etap](https://sio2.mimuw.edu.pl/c/oi28-1/dashboard/) [Licznik długu](https://sio2.mimuw.edu.pl/c/oi28-1/p/lic/)。**
题目描述
Bajterowicza 教授指出,Bajtocji 的经济形势现在不容乐观。为了警示民众,他让 Bajtazara 公司在 Bajtocji 首都的市中心安装一块大型显示屏,用来显示 Bajtocji 现在的公共债务是多少。
Bajtocji 的公共债务由两部分组成:国内债务和国际债务。国内债务和国际债务最多可由 $n-1$ 个十进制数组成。而在显示屏上显示的是两部分债务的总和。
随着时间推移,Bajtocji 的债务状况也在不断变化。你现在需要帮助 Bajtazara 公司完成显示软件的编辑工作。
这个软件需要执行如下三种操作:
- 更改国内债务数值在某一位上的值。
- 更改国际债务数值在某一位上的值。
- 输出总公共债务在某一位上的值。
输入格式
输入第一行两个整数 $n,z$,分别代表显示器能显示的数字位数和操作次数。
第二行包含一个长度 $n-1$ 的数字,代表 Bajtocji 最初的国内债务的值,这个数字可能有前导零。
第三行包含一个长度 $n-1$ 的数字,代表 Bajtocji 最初的国际债务的值,这个数字可能有前导零。
接下来 $z$ 行,每行描述一个询问操作:
- $\texttt{W}\ i \ c$ 表示将国内债务的第 $i$ 位的值更改为 $c$($1 \leq i \leq n-1$,$0 \leq c \leq 9$)。
- $\texttt{Z}\ i \ c$ 表示将国际债务的第 $i$ 位的值更改为 $c$($1 \leq i \leq n-1$,$0 \leq c \leq 9$)。
- $\texttt{S}\ i$ 表示输出总公共债务第 $i$ 位的值($1 \leq i \leq n-1$)。
输出格式
对于每个 $\texttt{S}$ 操作,输出一行一个整数表示结果。
说明/提示
【样例解释#1】:
最初公共债务总额为 $7341+150=7491$,因此第三位上的值为 $4$。
在操作 $2$ 后,公共债务总额为 $7041+150=7191$,因此第三位上的值为 $1$。
在操作 $4$ 后,公共债务总额为 $7041+159=7200$,因此第一位上的值为 $0$,第三位上的值为 $2$。
【数据范围】:
所有测试点均满足:$2 \leq n \leq 10^5$,$1 \leq z \leq 10^5$。
|子任务编号|约束|分值|
|:-:|:-:|:-:|
|$1$|$n,z\leq5\times10^3$|$30$|
| $2$|任何时刻,国内债务和国际债务的每个位上的数字都是 $0$ 或 $5$|$20$|
| $3$|无附加约束|$50$|