Codeforces Round 947 (Div. 1 + Div. 2) |
---|
Закончено |
Однажды Zimpha придумал задачу. Как член фан-клуба Zimpha, вы решили её решить.
Вам даны две строки $$$s$$$ и $$$t$$$ длины $$$n$$$ и $$$m$$$ соответственно. Обе строки состоят только из строчных латинских букв, а также символов - и *.
Вам нужно заменить все вхождения - и *, соблюдая следующие правила:
Обратите внимание, что вы можете заменить два разных символа - разными символами. Вы также можете заменить два разных символа * разными строками.
Предположим, что $$$s$$$ и $$$t$$$ были преобразованы в $$$s'$$$ и $$$t'$$$. Теперь вы задаетесь вопросом, существуют ли замены, в результате которых получается $$$s'=t'$$$.
Первая строка содержит два целых числа $$$n$$$ и $$$m$$$ ($$$1 \leq n, m \leq 2 \cdot 10^6$$$) — длины строк $$$s$$$ и $$$t$$$, соответственно.
Вторая строка содержит строку $$$s$$$ длины $$$n$$$. Гарантируется, что $$$s$$$ состоит только из строчных латинских букв, - и *.
Третья строка содержит строку $$$t$$$ длины $$$m$$$. Гарантируется, что $$$t$$$ состоит только из строчных латинских букв, - и *.
Для каждого набора входных данных выведите «Yes», если существует замена, в результате которой получается $$$s'=t'$$$, и «No» в противном случае.
Вы можете выводить каждую букву в любом регистре (строчную или заглавную). Например, строки «yEs», «yes», «Yes» и «YES» будут приняты как положительный ответ.
10 10justmonikaj-stsayori
No
7 8ttk-wxx*tt-l-xx
Yes
13 11asoulwangziji-soulg*z-y-
No
7 3abc*cbaa*c
No
20 18bulijiojio-dibuliduo*li*ji-*ox*i*-du*-
Yes
Во втором наборе входных данных мы можем преобразовать обе строки в ttklwxx. В $$$s$$$ - будет заменено на l. В $$$t$$$ * будет заменена пустой строкой, а первая и вторая - будут заменены на k и w соответственно.
В пятом наборе входных данных мы можем преобразовать обе строки в bulijiojioxdibuliduo.
Название |
---|