Ctrl K

Шеренга по XOR соседей

Средняя
В шеренге стоят n бегунов с номерами от 1 до n, каждый номер встречается ровно один раз, а n нечётное. Судья записал не сами номера, а массив neighbor_xors длины n - 1: neighbor_xors[i] — это побитовый XOR номеров i-го и (i + 1)-го бегуна. Восстановите порядок бегунов. Гарантируется, что ответ существует и единственен.
Пример 1
neighbor_xors=[2, 3] → [3, 1, 2]

Шеренга [3, 1, 2]: 3 XOR 1 = 2, 1 XOR 2 = 3.

Пример 2
neighbor_xors=[7, 4, 5, 7] → [2, 5, 1, 4, 3]

Шеренга [2, 5, 1, 4, 3]: 2 XOR 5 = 7, 5 XOR 1 = 4, 1 XOR 4 = 5, 4 XOR 3 = 7.

Пример 3
neighbor_xors=[3, 6, 7, 4, 7, 6] → [4, 7, 1, 6, 2, 5, 3]

Это шеренга [4, 7, 1, 6, 2, 5, 3]: например, 4 XOR 7 = 3, а 5 XOR 3 = 6.

Ограничения
  • 3 ≤ n < 10⁵, n нечётное
  • len(neighbor_xors) = n - 1
  • neighbor_xors получен из какой-то перестановки чисел от 1 до n
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиВсе наборы добавок СредняяВсе разные наборы карт СредняяЛишний среди троек СредняяДва числа без пары СредняяНайти лишнюю копию Средняя
загружаем Python…
Вход
neighbor_xors=[2, 3]
Ожидается
[3, 1, 2]

«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 5 тестов на сервере, включая скрытые.