Возможно ли получить из одной строки другую с заменой символом по определённым правилам?
Задача. Вася придумал игру для умного телевизора: можно сколько угодно раз выбрать две произвольные буквы латинского алфавита и заменить в строке все вхождения первой буквы на вторую, а второй — на первую. Так при выборе буквы a и b строка abc превратится в bac. Если выбрать буквы a и x, то строка abc превратится в строку xbc. Цель игры состоит в том, чтобы получить из строки s1 строку s2.
К сожалению, Вася умеет только генерировать гениальные идеи, но не программировать. Он придумал много пар строк s1 и s2. Для каждой пары определите, возможно ли получить из строки s1 строку s2 по правилам игры.
Формат ввода В первой строке задано число t (1 ≤ t ≤ 100) — количество пар строк, придуманных Васей. В следующих 2t строках вводятся t пар слов равной длины, разделенных переводом строки и состоящих из строчных латинских букв — s1 и s2 соответственно.
Гарантируется, что суммарная длина всех слов не превосходит 105 символов.
Формат вывода Для каждой пары слов выведите YES, если из s1 можно получить s2 по правилам игры и NO в противном случае.
Я пробовал делать по-разному. Например, так, как показано ниже. Однако, проходит только один тест (предполагаю, что тот, который и показан). За любые идеи буду очень благодарен. Может быть, какие-то случаи я пропустил?
import re
t = int(input())
s12_list = []
s1_list = []
s2_list = []
for _ in range(2*t):
s12 = input().split()
s12_list.append(s12)
for i in range(2*t):
if i % 2 == 0:
s1_list.append(s12_list[i])
else:
s2_list.append(s12_list[i])
s1_list = re.sub(r"[''\[\] ]", '', str(s1_list))
s2_list = re.sub(r"[''\[\] ]", '', str(s2_list))
s1_list = s1_list.split(',')
s2_list = s2_list.split(',')
for l in range(len(s1_list)):
for w in range(len(s1_list[l])):
bufervar1 = s1_list[l][w]
bufervar2 = s2_list[l][w]
for r in range(len(s1_list[l])):
if s1_list[l][r] == s1_list[l][w]:
s1_list[l] = s1_list[l].replace(s1_list[l][r], str(bufervar2))
for p in range(len(s1_list)):
if (s1_list[p] == s2_list[p]) == True:
print('YES')
else:
print('NO')