Задача 1. Преобразования слов
Условие задачи
Ограничение времени, с 1
Ограничение памяти, МБ 64
Общее число попыток отправки 15
На вход подается 2 подстроки. Нужно определить, можно ли превратить первую во вторую, заменяя одни буквы на другие, с учетом следующих правил:
- участвуют только буквы русского алфавита а-я;
- все буквы в нижнем регистре;
- за один шаг нужно преобразовать все вхождения одной буквы в другую букву.
Входные данные
Входная информация поступает из стандартного ввода в виде одной строки. В этой строке содержатся две подстроки, разделенные пробелом. Ваше решение должно учитывать вариант, когда на вход поданы строки разной длины. Некорректные данные на вход не поступают, дополнительные проверки не требуются.
Выходные данные
В качестве ответа в стандартный вывод программа должна выводить 1 (если превратить можно) или 0 (если превратить нельзя).
Пример 1
Входные данные: привет прикол
Выходные данные: 1
Преобразования (выводить не нужно):
в ⇒ к (прикет)
е ⇒ о (прикот)
т ⇒ л (прикол)
Пример 2
Входные данные: ааббдд ддббаа
Выходные данные: 1
Преобразования (выводить не нужно):
д ⇒ я (ааббяя)
а ⇒ д (ддббяя)
я ⇒ а (ддббаа)
Пример 3
Входные данные: абаб ааах
Выходные данные: 0
Преобразовать нельзя, так как 'б' не сможет оказаться одновременно 'а' и 'х'. Весь день пытаюсь понять условия задания, что они тут хотят??)) Возможно кому-то будет интересно поломать мозг. Задание с хед хантера.
Прикольно, действительно не с первого раза понял
По факту главный пример чтобы разобраться - последний, где "абаб" нельзя заменить на "ааах", потому что мы не можем букву б заменить одновременно на 2 буквы
Первое что приходит в голову - сделать мапу, проитерироваться по буквам и сложить ключем - буквы первого слова, значением - буквы второго на той же позиции. Если ключ уже есть, а значение отличается от значения в текущей итерации - замена не возможна, потому что одной букве первого слова отвечают 2 разные второго