Codeforces Round 598 (Div. 3) |
---|
Закончено |
Задано две строки $$$s$$$ и $$$t$$$, обе длины $$$n$$$ и обе состоят из строчных букв латинского алфавита.
За один ход вы можете выбрать любую длину $$$len$$$ от $$$1$$$ до $$$n$$$ и выполнить следующую операцию:
Заметьте, что в течение одного хода вы переворачиваете ровно одну подстроку строки $$$s$$$ и ровно одну подстроку строки $$$t$$$.
Также заметьте, что границы подстрок, которые вы переворачиваете в $$$s$$$ и в $$$t$$$, могут быть различны, единственное ограничение — вы должны переворачивать подстроки одинаковых длин. Например, если $$$len=3$$$ и $$$n=5$$$, то вы можете перевернуть $$$s[1 \dots 3]$$$ и $$$t[3 \dots 5]$$$, $$$s[2 \dots 4]$$$ и $$$t[2 \dots 4]$$$, но не $$$s[1 \dots 3]$$$ и $$$t[1 \dots 2]$$$.
Ваша задача — сказать, можно ли сделать строки $$$s$$$ и $$$t$$$ одинаковыми после какой-то (возможно, пустой) последовательности ходов.
Вам необходимо ответить на $$$q$$$ независимых наборов входных данных.
Первая строка входных данных содержит одно целое число $$$q$$$ ($$$1 \le q \le 10^4$$$) — количество наборов входных данных. Затем следуют $$$q$$$ наборов входных данных.
Первая строка набора входных данных содержит одно целое число $$$n$$$ ($$$1 \le n \le 2 \cdot 10^5$$$) — длину $$$s$$$ и $$$t$$$.
Вторая строка набора входных данных содержит одну строку $$$s$$$, состоящую из $$$n$$$ строчных букв латинского алфавита.
Третья строка набора входных данных содержит одну строку $$$t$$$, состоящую из $$$n$$$ строчных букв латинского алфавита.
Гарантируется, что сумма $$$n$$$ по всем наборам входных данных не превосходит $$$2 \cdot 10^5$$$ ($$$\sum n \le 2 \cdot 10^5$$$).
Для каждого набора входных данных выведите ответ на него — «YES» (без кавычек), если возможно сделать строки $$$s$$$ и $$$t$$$ равными после какой-то (возможно, пустой) последовательности ходов и «NO» иначе.
4 4 abcd abdc 5 ababa baaba 4 asdf asdg 4 abcd badc
NO YES NO YES
Название |
---|