pairs, где каждая пара [x, y] означает, что слова x и y взаимозаменяемы. Синонимия транзитивна: если x заменяет y, а y заменяет z, то x заменяет и z.
Дана фраза sentence — слова, разделённые одиночными пробелами. Каждое слово фразы, у которого есть синонимы, можно заменить на любое слово из его группы (или оставить как есть); остальные слова не меняются.
Верните все различные фразы, которые так получаются, отсортированные лексикографически (как строки).pairs=[["quick", "fast"], ["fast", "rapid"]], sentence="a quick fix" → ['a fast fix', 'a quick fix', 'a rapid fix']
quick, fast и rapid — одна группа синонимов, поэтому получаются три фразы, упорядоченные по алфавиту.
pairs=[["big", "huge"], ["old", "ancient"]], sentence="big old house" → ['big ancient house', 'big old house', 'huge ancient house', 'huge old house']
Две независимые замены дают 2 × 2 = 4 варианта.
pairs=[], sentence="nothing to swap" → ['nothing to swap']
sentence от 1 до 20 слов, разделённых одиночными пробеламиpairs=[["quick", "fast"], ["fast", "rapid"]], sentence="a quick fix"
['a fast fix', 'a quick fix', 'a rapid fix']
«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 126 тестов на сервере, включая скрытые.