12020. Збіг чи ні
Вам надано рядки \(S\) і \(T\), що складаються з малих англійських літер і ?. Тут виконується \(∣S∣>∣T∣\) (для рядка \(X\) \(∣X∣\) позначає довжину \(X\)).
Два рядки \(X\) і \(Y\), такі, що \(∣X∣=∣Y∣\), як кажуть, збігаються тоді і тільки тоді, коли:
- можна зробити \(X\) рівним \(Y\), замінивши кожен ? в \(X\) і \(Y\) незалежно від будь-якої англійської літери.
Розв’яжіть наступну задачу для кожного \(x=0,1,…,∣T∣\):
- Нехай \( S ′\) — рядок довжини \(∣T∣\), отриманий конкатенацією перших \(x\) символів і останніх \((∣T∣−x)\) символів \(S\) без зміни порядку.
Виведіть Yes, якщо \(S ′\) і \(T\) збігаються, і No в іншому випадку.
Обмеження
- \(S\) і \(T\) - це рядки, що складаються з малих англійських літер і ?.
- \(1≤∣T∣<∣S∣≤3×10^5\)
Формат вхідних даних
Перший рядок містить \(S\).
Наступний рядок містить \(T\).
Формат вихідних даних
У вихідний потік виведіть \((∣T∣+1)\) рядків. В \(i\)-му рядку має бути відповідь на \(x=i−1\).
Приклад вхідних даних
a?c
b?
Приклад вихідних даних
Yes
No
No
Коли \(x=0, S ′\) дорівнює ?c. Тут ми можемо замінити 1-й символ \(S ′\), ?, на b і 2-й символ \(T\), ?, на c, щоб зробити \(S ′\) рівним \(T\), таким чином \(S ′\) і \(T\) збігаються. Таким чином, Yes має бути виведено в першому рядку.
Коли \(x=1\) і 2 відповідно, \(S ′\) є ac і a?, жоден з яких не збігається з \(T\). Таким чином, виводимо No в другому та третьому рядках.
Приклад вхідних даних
algorytm
?????
Приклад вихідних даних
Yes
Yes
Yes
Yes
Yes
Yes
Приклад вхідних даних
beginner
contest
Приклад вихідних даних
No
No
No
No
No
No
No
No
Коментарі