#B3683. String Problem

String Problem

String Problem

来源:洛谷 B3683([语言月赛202211] String Problem)

题目描述

扶苏给你了两个长度为 nn 的字符串 sstt,请你判定这两个字符串是否相同。

扶苏觉得这个问题太简单了,所以她还给出了 qq 次操作,每次操作是修改其中一个字符串的某个位置的字符。每次操作过后,都请你回答一次 sstt 是否相同。

字符串下标从 1 开始编号。例如,若字符串 ssabc,要将它的第二个位置修改为 d,则修改后的字符串为 adc

输入格式

本题单测试点内有多组测试数据

输入的第一行是一个整数 TT,表示数据组数。接下来按顺序给出每组数据的输入:

对每组数据,第一行是两个整数,依次表示字符串长度 nn 和操作的次数 qq

第二行是一个长度为 nn 的字符串,表示 ss

第三行是一个长度为 nn 的字符串,表示 tt

接下来 qq 行,每行两个整数 o,po, p 和一个字符 cc,其中 oo0011

  • o=0o = 0,则表示将字符串 ss 的第 pp 个字符修改成 cc
  • o=1o = 1,则表示将字符串 tt 的第 pp 个字符修改成 cc

输出格式

对每组数据,依次输出答案。

每组数据共需要输出 q+1q+1 行。首先对初始给定的字符串 sstt,若他们相同,则输出一行 Yes,否则输出一行 No。接下来,对每次操作,若操作后两字符串相同,输出一行 Yes,否则输出一行 No

样例 #1

样例输入 #1

2
3 2
abc
abc
1 2 d
0 2 d
5 0
abdce
acdce

样例输出 #1

Yes
No
Yes
No

提示

样例 1 解释

对第一组数据:

  • 输入的字符串 s=ts = t,故第一行输出为 Yes
  • 第一次操作,将 tt 的第 2 位改为 d,此时 s=s = abct=t = adcsts \neq t,故第二行输出为 No
  • 第二次操作,将 ss 的第 2 位改为 d,此时 s=s = adct=t = adc,故第三行输出为 Yes

对第二组数据:

  • 输入的字符串 sts \neq t,故第四行输出为 No

数据规模与约定

本题共 10 个测试点,各测试点的规模见下表:

测试点编号 nn qq
1 11 00
2 10001000
3
4 10001000
5
6
7 10610^6
8
9
10