Ctrl K

Чётные биты из трёх списков

Средняя
Даны три массива неотрицательных целых чисел first, second и third. Возьмём по одному элементу из каждого: first[i], second[j], third[k] — и посчитаем их побитовый XOR. Верните, у скольких троек индексов (i, j, k) в двоичной записи этого XOR **чётное** число единичных битов (ноль единиц тоже считается чётным).
Пример 1
first=[5], second=[6], third=[3] → 1

5 ^ 6 ^ 3 = 0, в нуле ноль единичных битов — это чётно. Ответ 1.

Пример 2
first=[1, 2], second=[4], third=[0, 7] → 2

Переберём все четыре тройки: 1 ^ 4 ^ 0 = 5 (два бита, подходит), 1 ^ 4 ^ 7 = 2 (один бит, нет), 2 ^ 4 ^ 0 = 6 (два бита, подходит), 2 ^ 4 ^ 7 = 1 (нет). Ответ 2.

Пример 3
first=[3, 8, 0], second=[1, 1], third=[12, 5, 9] → 6
Ограничения
  • 1 ≤ len(first), len(second), len(third) ≤ 10⁵
  • 0 ≤ first[i], second[i], third[i] ≤ 10⁹
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиВсе наборы добавок СредняяВсе разные наборы карт СредняяЛишний среди троек СредняяДва числа без пары СредняяНайти лишнюю копию Средняя
загружаем Python…
Вход
first=[5], second=[6], third=[3]
Ожидается
1

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