Codeforces Round 590 (Div. 3) |
---|
Закончено |
Вам задана система труб. Она состоит из двух рядов, каждый из которых состоит из $$$n$$$ труб. Верхняя левая труба имеет координаты $$$(1, 1)$$$, а нижняя правая — $$$(2, n)$$$.
Всего существует шесть типов труб: два типа прямых труб и четыре типа изогнутых труб. Ниже приведены примеры всех шести типов:
Вы можете поворачивать каждую из заданных труб на $$$90$$$ градусов по часовой или против часовой стрелки любое (возможно, нулевое) количество раз (таким образом, типы $$$1$$$ и $$$2$$$ могут переходить друг в друга, а также $$$3, 4, 5, 6$$$ могут переходить друг в друга).
Вы хотите повернуть некоторые трубы таким образом, чтобы поток воды мог начать свое движение в $$$(1, 0)$$$ (слева от верхней левой трубы), пойти по трубе в $$$(1, 1)$$$, как-то потечь по связным трубам до трубы $$$(2, n)$$$ и потечь вправо в $$$(2, n + 1)$$$.
Трубы называются связными, если они являются соседними в системе и их концы соединены. Ниже несколько примеров связных труб:
Попробуем описать задачу при помощи примера:
И его решение ниже:
Как вы можете заметить, поток воды — это плохо нарисованная синяя линия. Чтобы достичь ответа, нам необходимо повернуть трубу на позиции $$$(1, 2)$$$ на $$$90$$$ градусов по часовой стрелке, трубу на позиции $$$(2, 3)$$$ на $$$90$$$ градусов, трубу на позиции $$$(1, 6)$$$ на $$$90$$$ градусов, трубу на позиции $$$(1, 7)$$$ на $$$180$$$ градусов и трубу на позиции $$$(2, 7)$$$ на $$$180$$$ градусов. Тогда поток воды сможет достичь $$$(2, n + 1)$$$ из $$$(1, 0)$$$.
Вам необходимо ответить на $$$q$$$ независимых запросов.
Первая строка входных данных содержит одно целое число $$$q$$$ ($$$1 \le q \le 10^4$$$) — количество запросов. Затем следуют $$$q$$$ запросов.
Каждый запрос состоит ровно из трех строк. Первая строка запроса содержит одно целое число $$$n$$$ ($$$1 \le n \le 2 \cdot 10^5$$$) — количество труб в каждом ряду. Следующие две строки содержат описания первого и второго рядов соответственно. Описание каждого ряда состоит из $$$n$$$ цифр от $$$1$$$ до $$$6$$$ без каких-либо пробелов между ними, каждая цифра соответствует типу трубы в соответствующей клетке. Прочтите условие задачи, чтобы понять, какие цифры соответствуют каким типам труб.
Гарантируется, что сумма $$$n$$$ по всем запросам не пресоходит $$$2 \cdot 10^5$$$.
Для $$$i$$$-го запроса выведите ответ на него — «YES» (без кавычек), если возможно повернуть некоторые трубы таким образом, чтобы поток воды смог достичь $$$(2, n + 1)$$$ из $$$(1, 0)$$$, и «NO» иначе.
6 7 2323216 1615124 1 3 4 2 13 24 2 12 34 3 536 345 2 46 54
YES YES YES NO YES NO
Первый запрос из тестового примера описан в условии задачи.
Название |
---|