A15268. Prefixes and Suffixes
编程题
普及/提高-
知识点
题目描述
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.