| Codeforces Round 1089 (Div. 2) |
|---|
| Закончено |
Скобочная последовательность называется правильной, если в неё можно вставить символы $$$+$$$ и $$$1$$$ так, чтобы получить корректное арифметическое выражение. Например, последовательности (())(), () и (()(())) являются правильными, а )(, (() и (()))( — нет. Будем называть правильную скобочную последовательность ПСП.
Вы можете выполнять следующую операцию над любой строкой $$$b$$$, являющейся ПСП:
Более формально, пусть $$$m$$$ — длина строки $$$b$$$. Вы можете выполнить над $$$b$$$ следующую операцию:
Вам даны две строки $$$s$$$ и $$$t$$$ длины $$$n$$$ ($$$n$$$ чётно), причём и $$$s$$$, и $$$t$$$ являются ПСП.
Определите, можно ли преобразовать $$$s$$$ в $$$t$$$, используя описанную выше операцию любое количество раз.
$$$^{\text{∗}}$$$Строка $$$a$$$ является подстрокой строки $$$b$$$, если $$$a$$$ может быть получена из $$$b$$$ удалением нескольких (возможно, ни одного или всех) символов с начала и нескольких (возможно, ни одного или всех) символов с конца.
Каждый тест состоит из нескольких наборов входных данных. В первой строке находится одно целое число $$$t$$$ ($$$1 \le t \le 10^4$$$) — количество наборов входных данных. Далее следует описание наборов входных данных.
Первая строка каждого набора входных данных содержит одно целое число $$$n$$$ ($$$4\leq n\leq 5\cdot 10^5$$$, $$$n$$$ чётно).
Вторая строка каждого набора входных данных содержит строку $$$s$$$ длины $$$n$$$, такую, что $$$s$$$ является ПСП.
Третья строка каждого набора входных данных содержит строку $$$t$$$ длины $$$n$$$, такую, что $$$t$$$ является ПСП.
Гарантируется, что сумма значений $$$n$$$ по всем наборам входных данных не превосходит $$$5\cdot 10^5$$$.
Для каждого набора входных данных выведите «YES», если $$$s$$$ можно преобразовать в $$$t$$$, и «NO» в противном случае.
Вы можете выводить каждую букву в любом регистре (строчную или заглавную). Например, строки «yEs», «yes», «Yes» и «YES» будут приняты как положительный ответ.
54()()()()4()()(())6(())()()(())8(()()())()()(())8()()(())()(()())
YESNOYESNOYES
В первом наборе входных данных две строки уже совпадают.
В третьем наборе входных данных можно выбрать $$$l_1=1,r_1=4,l_2=5,r_2=6$$$ и преобразовать $$$s$$$ в $$$t$$$.
Вот визуализация операции, выполненной в этом случае:
$$$\color{red}{(())}\color{blue}{()}\rightarrow\color{blue}{()}\color{red}{(())}$$$
| Название |
|---|


