Codeforces Round 712 (Div. 2) |
---|
Закончено |
Дана бинарная строка $$$a$$$ длины $$$n$$$. За одну операцию можно выбрать любой префикс $$$a$$$ с равным числом символов $$$0$$$ и $$$1$$$. Затем все символы в префиксе меняются: каждый $$$0$$$ становится $$$1$$$, а каждый $$$1$$$ — $$$0$$$.
Например, предположим, что $$$a=0111010000$$$.
Можете ли вы преобразовать строку $$$a$$$ в строку $$$b$$$, сделав некоторое конечное количество операций (возможно, ни одной)?
В первой строке содержится одно целое число $$$t$$$ ($$$1\le t\le 10^4$$$) — количество наборов входных данных.
В первой строке каждого набора входных данных содержится одно целое $$$n$$$ ($$$1\le n\le 3\cdot 10^5$$$) — длина строк $$$a$$$ и $$$b$$$.
Следующие две строки содержат строки $$$a$$$ и $$$b$$$ длиной $$$n$$$, состоящие из символов $$$0$$$ и $$$1$$$.
Сумма $$$n$$$ во всех наборах входных данных не превышает $$$3\cdot 10^5$$$.
Для каждого набора входных данных выведите «YES», если возможно преобразовать $$$a$$$ в $$$b$$$, или «NO», если это невозможно. Вы можете выводить каждый символ в любом регистре.
5 10 0111010000 0100101100 4 0000 0000 3 001 000 12 010101010101 100110011010 6 000111 110100
YES YES NO YES NO
Первый набор входных данных разобран в условии.
Во втором наборе входных данных мы преобразуем $$$a$$$ в $$$b$$$, используя ноль операций.
В третьем наборе входных данных нельзя сделать ни одну операцию, поэтому преобразовать $$$a$$$ в $$$b$$$ невозможно.
В четвертом наборе входных данных, вот одно из таких преобразований:
В пятом наборе входных данных единственной разрешенной операцией является преобразование $$$a$$$ в $$$111000$$$. Но для получившейся строки единственная разрешенная операция — это вернуться к строке, с которой мы начали, поэтому мы не можем преобразовать $$$a$$$ в $$$b$$$.
Название |
---|