11982. Шаблони
Вам надано шаблони \(S\) і \(T\), що складаються з '#' і '.', кожен з яких має \(H\) рядків і \(W\) стовпців. Шаблон \(S\) подано як \(H\) рядків, а \(j\)-й символ \(S_i\) представляє елемент у \(i\)-му рядку та \(j\)-му стовпці. Те саме стосується \(T\).
Визначте, чи можна зробити \(S\) рівним \(T\), переставивши стовпці \(S\).
Тут перегрупування стовпців шаблону \(X\) виконується наступним чином.
- Виберіть перестановку \(P=(P_1 ,P_2 ,…,P_W )\) з \((1,2,…,W)\).
Тоді для кожного цілого \(i\) такого, що \(1≤i≤H\), одночасно виконайте наступне.
Для кожного цілого числа \(j\) такого, що \(1≤j≤W\), одночасно замініть елемент у \(i\)-му рядку та \(j\)-му стовпці \(X\) на елемент у \(i\)-му рядку та \(P_j\) -му стовпці.
Обмеження
- \(H\) і \(W\) є цілими числами.
- \(1≤H,W 1≤H×W≤4×10^5\)
- \(S_i\) і \(T_i\) — рядки довжини \(W\), що складаються з '#' і '.'.
Формат вхідних даних
Перший рядок містить цілі числа \(H,W\).
Наступні \(H\) рядків містять \(S_i\).
Далі наступні \(H\) рядків містять \(T_i\).
Формат вихідних даних
У вихідний потік виведіть відповідь: Yes або No.
Приклад вхідних даних
3 4
##.#
##..
#...
.###
..##
...#
Приклад вихідних даних
Yes
Якщо ви, наприклад, розташуєте 3-й, 4-й, 2-й і 1-й стовпці \(S\) в такому порядку зліва направо, \(S\) буде дорівнювати \(T\).
Приклад вхідних даних
3 3
#.#
.#.
#.#
##.
##.
.#.
Приклад вихідних даних
No
Приклад вхідних даних
2 1
#
.
#
.
Приклад вихідних даних
Yes
Приклад вхідних даних
8 7
#..#..#
.##.##.
#..#..#
.##.##.
#..#..#
.##.##.
#..#..#
.##.##.
....###
####...
....###
####...
....###
####...
....###
####...
Приклад вихідних даних
Yes
Коментарі