社区讨论

求助,这个代码怎么写

题目总版参与者 2已保存回复 1

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
1 条
当前快照
1 份
快照标识符
@lwbs40fm
此快照首次捕获于
2024/05/18 15:20
2 年前
此快照最后确认于
2024/05/18 17:39
2 年前
查看原帖
【题目背景】 本题中的“codeforces”等字眼仅为致敬。
【题目描述】 你有两个长度为 n 的小写字母组成的字符串,为 S 和 T。 你可以进行一个操作任意次(可以是零次):
  1. 你选择一个 l 和 r。
  2. 将 S 字符串的 l 到 r 的子串与 T 字符串的 n − r + 1 到 n − l + 1 的子串交换。
  3. 左右翻转这两个子串。 比如,你的字符串是 helloworld 和 codeforces,你选择了 3 和 5,那么经过第 二步后,两个字符串变为 heorcworld 和 codeflloes,经过第三步后,两个字符串变 为 hecroworld 和 codefolles。
现在小 D 想要问你,通过这样的操作后,是否能使字符串 S 中含有子串“abc”,请 输出 YES 或 NO。 本题一次运行中有多组数据。
【输入格式】 第一行一个正整数 t,表示数据组数。 接下来共有 3 × t 行,对于每组数据: • 第一行一个正整数 n。 • 第二行和第三行每行一个字符串分别表示 S 和 T。
【输出格式】 对于每组数据,输出一行 YES 或 NO 表示答案。
【样例 1 输入】 1 3 2 4 3 easy 4 abab 5 5 6 qwert 7 pocba 第 9 页 共 10 页 2024校际联合邀请赛 2024 年校际联合邀请赛语法组 - 第 1 场 新手比赛(abc) 8 8 9 abmjkpla 10 xixitcgo 【样例 1 输出】 1 NO 2 YES 3 YES 【样例解释】 对于第一个样例,可以证明无解。 对于第二个样例,可以选择 l 和 r 为 1 和 3。 对于第三个样例,可以选择 l 和 r 为 3 和 3。 【数据范围】 对于所有数据,满足 1 ≤ t ≤ 1000,且 1 ≤| S |, | T |≤ 1000, 1 ≤ l ≤ r ≤ n 。

回复

1 条回复,欢迎继续交流。

正在加载回复...