city_count городов с номерами от 0 до city_count - 1. Двусторонние дороги roads[i] = [a, b] соединяют города a и b; из любого города можно добраться до любого другого, и между двумя городами не больше одной дороги. У каждого города есть код codes[i] из трёх заглавных латинских букв; у разных городов коды могут совпадать.
Турист составил план поездки plan — список кодов городов, но дороги между соседними пунктами плана могут и не существовать. Найдите маршрут той же длины, что и план: последовательность номеров городов, в которой каждые два соседних города соединены дорогой (города могут повторяться). Среди всех маршрутов выберите тот, у которого меньше всего позиций i, где код i-го города маршрута отличается от plan[i].
Верните этот маршрут как список номеров городов. Гарантируется, что такой маршрут единственный.city_count=4, roads=[[0, 1], [1, 2], [2, 3]], codes=['OSL', 'RIX', 'VNO', 'WAW'], plan=['RIX', 'VNO', 'WAW'] → [1, 2, 3]
Дороги образуют цепочку 0–1–2–3, и маршрут 1 → 2 → 3 совпадает с планом полностью.
city_count=4, roads=[[0, 1], [0, 2], [0, 3]], codes=['KZN', 'UFA', 'SAM', 'PEE'], plan=['UFA', 'SAM', 'KZN', 'PEE'] → [0, 2, 0, 3]
Все дороги идут через город 0 (KZN), поэтому из UFA в SAM напрямую не попасть. Маршрут 0 → 2 → 0 → 3 расходится с планом только в первой позиции, а любой маршрут, начатый в UFA, расходится минимум в двух.
codes и plan — ровно три заглавные латинские буквыcity_count=4, roads=[[0, 1], [1, 2], [2, 3]], codes=['OSL', 'RIX', 'VNO', 'WAW'], plan=['RIX', 'VNO', 'WAW']
[1, 2, 3]
«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 6 тестов на сервере, включая скрытые.