Ответ "можно" если
1) Каждому символу первой строки соответствует один и тот же символ второй строки
2) Если есть замены в виде цикла (вроде а->б, б->в, в->а), то нужна хотя бы одна свободная буква (та, которая не стоит справа в замене).
Решается так:
1) Проверить, что строки равны. Это особый случай
2) Проверить, что длина одинаковая?
3) Завести мап символ->символ, пройтись по строкам параллельно и записывать мап[строка1[i]] = строка2[i], если там пусто. Иначе - проверить, что там уже записано то же самое.
4) Проверить, что различных символов во второй строке меньше 33. Можно с помощью сета, который наполняется в том же цикле, что и в шаге 3.