A15268 | Prefixes and Suffixes
时间限制1s
内存限制256MB
通过 / 提交0/0
题目描述
You have two strings $s_1$ and $s_2$ of length $n$ , consisting of lowercase English letters. You can perform the following operation any (possibly zero) number of times:
- Choose a positive integer $1 \leq k \leq n$ .
- Swap the prefix of the string $s_1$ and the suffix of the string $s_2$ of length $k$ .
Is it possible to make these two strings equal by doing described operations?
- Choose a positive integer $1 \leq k \leq n$ .
- Swap the prefix of the string $s_1$ and the suffix of the string $s_2$ of length $k$ .
Is it possible to make these two strings equal by doing described operations?
输入格式
The first line contains a single integer $t$ ( $1 \le t \le 10^4$ ) — the number of test cases. Then the test cases follow.
Each test case consists of three lines.
The first line contains a single integer $n$ ( $1 \le n \le 10^5$ ) — the length of the strings $s_1$ and $s_2$ .
The second line contains the string $s_1$ of length $n$ , consisting of lowercase English letters.
The third line contains the string $s_2$ of length $n$ , consisting of lowercase English letters.
It is guaranteed that the sum of $n$ for all test cases does not exceed $2 \cdot 10^5$ .
Each test case consists of three lines.
The first line contains a single integer $n$ ( $1 \le n \le 10^5$ ) — the length of the strings $s_1$ and $s_2$ .
The second line contains the string $s_1$ of length $n$ , consisting of lowercase English letters.
The third line contains the string $s_2$ of length $n$ , consisting of lowercase English letters.
It is guaranteed that the sum of $n$ for all test cases does not exceed $2 \cdot 10^5$ .
输出格式
For each test case, print "YES" if it is possible to make the strings equal, and "NO" otherwise.
输入输出样例
输入 #1
7 3 cbc aba 5 abcaa cbabb 5 abcaa cbabz 1 a a 1 a b 6 abadaa adaaba 8 abcabdaa adabcaba
输出 #1
YES YES NO YES NO NO YES
In the first test case:
- Initially $s_1 = \mathtt{cbc}$ , $s_2 = \mathtt{aba}$ .
- Operation with $k = 1$ , after the operation $s_1 = \mathtt{abc}$ , $s_2 = \mathtt{abc}$ .
In the second test case:
- Initially $s_1 = \mathtt{abcaa}$ , $s_2 = \mathtt{cbabb}$ .
- Operation with $k = 2$ , after the operation $s_1 = \mathtt{bbcaa}$ , $s_2 = \mathtt{cbaab}$ .
- Operation with $k = 3$ , after the operation $s_1 = \mathtt{aabaa}$ , $s_2 = \mathtt{cbbbc}$ .
- Operation with $k = 1$ , after the operation $s_1 = \mathtt{cabaa}$ , $s_2 = \mathtt{cbbba}$ .
- Operation with $k = 2$ , after the operation $s_1 = \mathtt{babaa}$ , $s_2 = \mathtt{cbbca}$ .
- Operation with $k = 1$ , after the operation $s_1 = \mathtt{aabaa}$ , $s_2 = \mathtt{cbbcb}$ .
- Operation with $k = 2$ , after the operation $s_1 = \mathtt{cbbaa}$ , $s_2 = \mathtt{cbbaa}$ .
In the third test case, it's impossible to make strings equal.
- Initially $s_1 = \mathtt{cbc}$ , $s_2 = \mathtt{aba}$ .
- Operation with $k = 1$ , after the operation $s_1 = \mathtt{abc}$ , $s_2 = \mathtt{abc}$ .
In the second test case:
- Initially $s_1 = \mathtt{abcaa}$ , $s_2 = \mathtt{cbabb}$ .
- Operation with $k = 2$ , after the operation $s_1 = \mathtt{bbcaa}$ , $s_2 = \mathtt{cbaab}$ .
- Operation with $k = 3$ , after the operation $s_1 = \mathtt{aabaa}$ , $s_2 = \mathtt{cbbbc}$ .
- Operation with $k = 1$ , after the operation $s_1 = \mathtt{cabaa}$ , $s_2 = \mathtt{cbbba}$ .
- Operation with $k = 2$ , after the operation $s_1 = \mathtt{babaa}$ , $s_2 = \mathtt{cbbca}$ .
- Operation with $k = 1$ , after the operation $s_1 = \mathtt{aabaa}$ , $s_2 = \mathtt{cbbcb}$ .
- Operation with $k = 2$ , after the operation $s_1 = \mathtt{cbbaa}$ , $s_2 = \mathtt{cbbaa}$ .
In the third test case, it's impossible to make strings equal.
C++ 编辑器
输入
输出
可保存默认模板;新题优先使用已保存模板。
当前快捷键仅展示,暂不支持修改。
- 撤销
Ctrl / ⌘ + Z - 重做
Ctrl / ⌘ + Y - 查找
Ctrl / ⌘ + F - 全选
Ctrl / ⌘ + A - 复制
Ctrl / ⌘ + C - 剪切
Ctrl / ⌘ + X - 粘贴
Ctrl / ⌘ + V - 自动排版
工具栏排版按钮 - 草稿保存
编辑时自动保存到本机
历史
提交记录
状态说明时间源码
AI
作答助手
你好,我是作答助手。可以问思路、复杂度、样例含义或代码报错原因;不会直接给出完整 AC 代码。
确定要清空代码吗?
提交通过
评测结果:Accepted