Ctrl K

Зеркальное табло с единицами по четыре

Средняя
Световое табло — это прямоугольная таблица board из m строк и n столбцов, где 1 — горящая лампочка, а 0 — погасшая. За один ход можно переключить любую лампочку: зажечь погасшую или погасить горящую. Дизайнер хочет, чтобы табло стало зеркальным: каждая строка читается одинаково слева направо и справа налево, и каждый столбец — сверху вниз и снизу вверх. Кроме того, лампочки закупаются блоками по четыре, поэтому общее число горящих должно делиться на 4 (ноль тоже подходит). Верните наименьшее число переключений, после которого оба условия выполнены.
Пример 1
board=[[0, 1, 0], [1, 1, 0]] → 3

Угловые клетки должны быть одинаковыми, среди них одна единица — её дешевле всего превратить в 0 (1 переворот). Средний столбец [1, 1] уже симметричен, но тогда единиц будет 2, а это не делится на 4, поэтому обе единицы тоже переворачиваем. Итого 3.

Пример 2
board=[[1, 0, 1], [0, 0, 0], [1, 0, 1]] → 0

Все строки и столбцы уже читаются одинаково в обе стороны, а единиц ровно 4. Ничего менять не нужно.

Пример 3
board=[[1], [0], [1]] → 2

Столбец симметричен, но единиц 2. Можно погасить обе крайние — 2 переворота.

Ограничения
  • 1 ≤ m · n ≤ 2 · 10⁵
  • Все строки board одной длины
  • board[i][j] равно 0 или 1
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиТри в ряд до упора СредняяОпрокинутый ящик с камнями СредняяЗеркальные строки или столбцы СредняяЗеркало и негатив ЛёгкаяСколько клеток зальёт вода Сложная
загружаем Python…
Вход
board=[[0, 1, 0], [1, 1, 0]]
Ожидается
3

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