#1557. 一次操作

一次操作

题目描述

给定不超过 100 组测试用例,每组测试用例包含整数 KK 和两个仅由小写英文字母组成的字符串 SSTT

对于每组测试用例,你可以对字符串 SS 进行 00 次到 KK 次以下操作(操作类型可任选),判断是否能将 SS 变为 TT

  • 插入:在 SS 的任意位置(包括首尾)插入任意一个小写英文字母。
  • 删除:删除 SS 中的任意一个字符。
  • 修改:将 SS 中的任意一个字符修改为另一个小写英文字母。

注意:题目限制 KK 的取值恒为 1(即最多只能执行 1 次操作)。

输入格式

输入通过标准输入给出,格式如下:

第一行:一个整数 TT(表示测试用例的个数,1T1001 \leq T \leq 100
接下来 TT 行:每行包含一个整数 KK 和两个字符串 SSTT(三者用空格分隔)

输出格式

对于每组测试用例,若能在不超过 KK 次操作内将 SS 变为 TT,输出 Yes;否则输出 No

数据限制

  • 字符串 SSTT 的长度均为 1len(S),len(T)10001 \leq \text{len}(S), \text{len}(T) \leq 1000
  • KK 的取值恒为 1(输入保证此条件)
  • 所有输入的字符串仅包含小写英文字母

输入输出样例

输入

6
1 abc agc
1 abc awtf
1 abc ac
1 back black
1 same same
1 leap read

输出

Yes
No
Yes
Yes
Yes
No

样例解释

  1. 第 1 组:将 abc 的第 2 个字符 b 修改为 g(1 次修改操作),得到 agc → 输出 Yes
  2. 第 2 组abc(长度 3)与 awtf(长度 4),长度差 1,但插入/删除/修改任意 1 次均无法得到目标字符串 → 输出 No
  3. 第 3 组:删除 abc 的第 2 个字符 b(1 次删除操作),得到 ac → 输出 Yes
  4. 第 4 组:在 back 的第 1 个与第 2 个字符之间插入 l(1 次插入操作),得到 black → 输出 Yes
  5. 第 5 组:初始时 S=TS = T(0 次操作),满足要求 → 输出 Yes
  6. 第 6 组leapread 长度相同,但存在 4 处字符不同,1 次修改无法完成变换 → 输出 No

限制与约定

  • 时间限制: 1s1s
  • 空间限制:512MB512MB 特殊性质: 测试点1:无

测试点2,3,4: S|S| = T|T| - 11

测试点5,6,7: S|S| = T|T|

测试点8,9,10:S|S| = T|T| ++ 11