n битов (нулей и единиц). Для каждого бита посчитали XOR с его соседом по часовой стрелке: diffs[i] — это XOR i-го бита и (i + 1)-го, а последний бит сравнивается с первым. При n = 1 бит сравнивается сам с собой.
Исходные биты потерялись, остался только массив diffs. Верните True, если существует хотя бы одно кольцо битов, дающее ровно такой diffs, иначе False.diffs=[1, 0, 1] → True
Подходит кольцо [0, 1, 1]: 0 ⊕ 1 = 1, 1 ⊕ 1 = 0, 1 ⊕ 0 = 1.
diffs=[1, 1, 1] → False
Три соседние пары должны различаться, но на кольце из трёх битов это невозможно: вернувшись к первому биту, мы бы сменили значение нечётное число раз.
diffs=[0] → True
diffs равен 0 или 1diffs=[1, 0, 1]
True
«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 94 теста на сервере, включая скрытые.