source и target одинаковой длины из строчных латинских букв, а также прейскурант замен: за prices[i] любую букву from_letters[i] можно заменить на букву to_letters[i]. Одна и та же пара букв может встречаться в прейскуранте несколько раз с разными ценами.
Замены делаются по одной букве за раз, и к одной позиции их можно применять сколько угодно раз подряд — например, сначала a → c, потом c → b.
Верните минимальную стоимость, за которую source можно превратить в target. Если это невозможно, верните -1.source="cat", target="dog", from_letters=["c", "a", "t", "x"], to_letters=["d", "x", "g", "o"], prices=[3, 1, 4, 2] → 10
c → d за 3, a → x → o за 1 + 2 = 3, t → g за 4. Итого 10.
source="ab", target="ba", from_letters=["a"], to_letters=["b"], prices=[5] → -1
Букву a можно превратить в b, а вот b в a — никак. Ответ -1.
source="zzz", target="zzz", from_letters=["z"], to_letters=["y"], prices=[7] → 0
source и target состоят из строчных латинских буквfrom_letters[i] и to_letters[i] — строчные латинские буквы, from_letters[i] ≠ to_letters[i]source="cat", target="dog", from_letters=["c", "a", "t", "x"], to_letters=["d", "x", "g", "o"], prices=[3, 1, 4, 2]
10
«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 64 теста на сервере, включая скрытые.