#564. 文本删除

文本删除

题目描述

给定一个长度为 nn 的字符串 ss,进行 kk 次操作,每次操作的定义如下:

  • op = 1:将 ss 中的所有字符 cc 删除(若有多个则全部删除)。
  • op = 2:将 ss所有被删除的字符 cc 还原(恢复到被删除前的位置相对顺序)。

输出经过这 kk 次操作后的字符串 ss

输入格式

每个测试文件仅有一组测试数据。

第一行两个整数 nnkk (1n, k105)(1\le n,\ k\le10^5),表示字符串长度和操作次数。

第二行为长度为 nn 的字符串 ss

接下来 kk 行,每行包含一个整数 op (1op2)op\ (1\le op\le2) 和一个字符 cc,两者以空格分隔。

保证所有出现的字符均为英文字母且区分大小写,且每个出现的字符 cc 在初始字符串 ss 中至少出现过一次。

输出格式

输出一行,表示执行完所有操作后得到的字符串。

9 3
Acceptedo
1 o
1 c
2 c
Accepted
13 10
HelloNewACMer
1 H
1 e
1 l
1 o
1 N
1 w
1 M
1 r
1 A
2 A
AC

样例解释1

  • 第一次操作删除所有小写字母 'oo',字符串变为 AcceptedAccepted(末尾 oo 被删)。

  • 第二次操作删除所有小写字母 'cc',字符串变为 AeptedAepted(所有 cc 被删)。

  • 第三次操作还原所有被删除的 'cc',恢复为为 AcceptedAcceptedcc 恢复到原来的相对位置)。