题目名称 3966. 新手比赛
输入输出 abc.in/out
难度等级 ★★
时间限制 1000 ms (1 s)
内存限制 512 MiB
测试数据 10
题目来源 Gravatarsyzhaoss 于2024-05-06加入
开放分组 全部用户
提交状态
分类标签
字符串
分享题解
通过:4, 提交:9, 通过率:44.44%
Gravatarsyzhaoss 100 0.421 s 5.77 MiB C++
Gravatar1nclude 100 0.459 s 5.74 MiB C++
GravatarAeeE5x 100 0.472 s 5.74 MiB C++
Gravatarpcx 100 0.654 s 5.74 MiB C++
Gravatar喵喵喵 0 0.006 s 5.74 MiB C++
Gravatar喵喵喵 0 0.006 s 5.74 MiB C++
Gravatar喵喵喵 0 0.006 s 5.74 MiB C++
Gravatarchenbp 0 0.411 s 5.74 MiB C++
Gravatar黄思博 0 0.471 s 5.74 MiB C++
关于 新手比赛 的近10条评论(全部评论)

3966. 新手比赛

★★   输入文件:abc.in   输出文件:abc.out   简单对比
时间限制:1 s   内存限制:512 MiB

【题目背景】

本题中的 “codeforces” 等字眼仅为致敬。

【题目描述】

你有两个长度为 $n$ 的小写字母组成的字符串,为 $S$ 和 $T$。

你可以进行一个操作任意次(可以是零次):

1. 你选择一个 $l$ 和 $r$。

2. 将 S 字符串的 $l$ 到 $r$ 的子串与 T 字符串的 $n - r + 1$ 到 $n - l + 1$ 的子串交换。

3. 左右翻转这两个子串。

比如,你的字符串是 helloworldcodeforces,你选择了 $3$ 和 $5$,那么经过第二步后,两个字符串变为 heorcworldcodeflloes,经过第三步后,两个字符串变为 hecroworldcodefolles

现在小 D 想要问你,通过这样的操作后,是否能使字符串 $S$ 中含有子串 “abc”,请输出 YESNO

本题一次运行中有多组数据

【输入格式】

第一行一个正整数 $t$,表示数据组数。

接下来共有 $3 \times t$ 行,对于每组数据:

第一行一个正整数 $n$。

第二行和第三行每行一个字符串分别表示 $S$ 和 $T$。

【输出格式】

对于每组数据,输出一行 YESNO 表示答案。

【样例输入】

3
4
easy
abab
5
qwert
pocba
8
abmjkpla
xixitcgo

【样例输出】

NO
YES
YES

【样例说明】

对于第一个样例,可以证明无解。

对于第二个样例,可以选择 $l$ 和 $r$ 为 $1$ 和 $3$。

对于第三个样例,可以选择 $l$ 和 $r$ 为 $3$ 和 $3$。

【数据规模与约定】

对于所有数据,满足 $1 \le t \le 1000$,且 $1 \le \mid S \mid,\mid T \mid \le 1000$, $1 \le l \le r \le n$ 。

【来源】

2024年校际联合邀请赛 语法组-第1场 Task4