题目名称 | 3966. 新手比赛 |
---|---|
输入输出 | abc.in/out |
难度等级 | ★★ |
时间限制 | 1000 ms (1 s) |
内存限制 | 512 MiB |
测试数据 | 10 |
题目来源 | syzhaoss 于2024-05-06加入 |
开放分组 | 全部用户 |
提交状态 | |
分类标签 | |
分享题解 |
通过:4, 提交:9, 通过率:44.44% | ||||
syzhaoss | 100 | 0.421 s | 5.77 MiB | C++ |
1nclude | 100 | 0.459 s | 5.74 MiB | C++ |
AeeE5x | 100 | 0.472 s | 5.74 MiB | C++ |
pcx | 100 | 0.654 s | 5.74 MiB | C++ |
喵喵喵 | 0 | 0.006 s | 5.74 MiB | C++ |
喵喵喵 | 0 | 0.006 s | 5.74 MiB | C++ |
喵喵喵 | 0 | 0.006 s | 5.74 MiB | C++ |
chenbp | 0 | 0.411 s | 5.74 MiB | C++ |
黄思博 | 0 | 0.471 s | 5.74 MiB | C++ |
关于 新手比赛 的近10条评论(全部评论) |
---|
本题中的 “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 \times t$ 行,对于每组数据:
第一行一个正整数 $n$。
第二行和第三行每行一个字符串分别表示 $S$ 和 $T$。
对于每组数据,输出一行 YES
或 NO
表示答案。
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