#P9297. [POI2020] Licznik długu

[POI2020] Licznik długu

题目背景

题目译自 XXVIII Olimpiada Informatyczna – I etap Licznik długu

题目描述

Bajterowicza 教授指出,Bajtocji 的经济形势现在不容乐观。为了警示民众,他让 Bajtazara 公司在 Bajtocji 首都的市中心安装一块大型显示屏,用来显示 Bajtocji 现在的公共债务是多少。

Bajtocji 的公共债务由两部分组成:国内债务和国际债务。国内债务和国际债务最多可由 n1n-1 个十进制数组成。而在显示屏上显示的是两部分债务的总和。

随着时间推移,Bajtocji 的债务状况也在不断变化。你现在需要帮助 Bajtazara 公司完成显示软件的编辑工作。

这个软件需要执行如下三种操作:

  • 更改国内债务数值在某一位上的值。
  • 更改国际债务数值在某一位上的值。
  • 输出总公共债务在某一位上的值。

输入格式

输入第一行两个整数 n,zn,z,分别代表显示器能显示的数字位数和操作次数。

第二行包含一个长度 n1n-1 的数字,代表 Bajtocji 最初的国内债务的值,这个数字可能有前导零。

第三行包含一个长度 n1n-1 的数字,代表 Bajtocji 最初的国际债务的值,这个数字可能有前导零。

接下来 zz 行,每行描述一个询问操作:

  • W i c\texttt{W}\ i \ c 表示将国内债务的第 ii 位的值更改为 cc1in11 \leq i \leq n-10c90 \leq c \leq 9)。
  • Z i c\texttt{Z}\ i \ c 表示将国际债务的第 ii 位的值更改为 cc1in11 \leq i \leq n-10c90 \leq c \leq 9)。
  • S i\texttt{S}\ i 表示输出总公共债务第 ii 位的值(1in11 \leq i \leq n-1)。

输出格式

对于每个 S\texttt{S} 操作,输出一行一个整数表示结果。

5 6
7341
0150
S 3
W 3 0
S 3
Z 1 9
S 1
S 3
4
1
0
2
10 100
627280304
679703557
Z 9 9
Z 2 5
S 3
S 3
W 6 2
W 9 6
Z 6 2
Z 3 9
S 7
Z 5 9
S 3
S 6
S 8
Z 3 2
W 5 1
Z 4 5
W 5 8
S 1
W 4 7
W 8 7
S 9
Z 5 7
S 8
W 5 5
S 6
W 9 9
W 8 0
S 1
S 8
W 8 7
S 9
W 2 4
W 5 7
S 4
Z 6 0
Z 8 2
W 8 2
S 2
W 5 7
W 4 7
W 1 4
W 2 9
S 3
W 8 3
W 5 2
Z 4 2
W 5 9
W 8 3
W 6 6
S 6
W 6 8
Z 7 4
S 5
W 9 9
W 9 6
S 10
W 7 8
Z 1 5
Z 3 4
S 5
S 2
W 9 9
W 3 0
Z 9 4
Z 1 1
Z 5 9
W 7 2
S 3
S 5
W 3 6
Z 4 7
S 7
Z 5 4
S 7
S 1
W 2 8
Z 1 7
W 3 6
W 8 4
S 7
Z 8 8
Z 5 0
W 8 9
W 7 1
S 2
W 2 7
S 2
W 2 5
Z 5 0
W 9 8
W 4 5
Z 2 8
S 5
S 2
Z 2 7
S 1
S 1
W 8 1
W 4 8
Z 7 2
8
8
6
2
5
0
1
6
5
5
1
8
9
2
0
6
7
6
1
6
4
5
8
6
6
5
6
4
3
0
4
1
1

提示

【样例解释#1】:

最初公共债务总额为 7341+150=74917341+150=7491,因此第三位上的值为 44

在操作 22 后,公共债务总额为 7041+150=71917041+150=7191,因此第三位上的值为 11

在操作 44 后,公共债务总额为 7041+159=72007041+159=7200,因此第一位上的值为 00,第三位上的值为 22

【数据范围】:

所有测试点均满足:2n1052 \leq n \leq 10^51z1051 \leq z \leq 10^5

子任务编号 约束 分值
11 n,z5×103n,z\leq5\times10^3 3030
22 任何时刻,国内债务和国际债务的每个位上的数字都是 0055 2020
33 无附加约束 5050