Ctrl K

Максимум двоичных строк после переворотов

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

Переворачиваем первую строку — получаем 100, затем второй столбец: строки 110 и 100. Это 6 + 4 = 10; больше получить нельзя.

Пример 2
bits=[[0, 0], [0, 0]] → 6

Переворачиваем обе строки: 11 + 11 = 3 + 3 = 6.

Ограничения
  • 1 ≤ m, n ≤ 20
  • Все строки одной длины n
  • bits[i][j] — 0 или 1
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиПодрастить башни, не трогая силуэт СредняяДва ряда лампочек СредняяКомпании по четыре в кинозале СредняяСтроки под диагональю СредняяПрибавить или удвоить всё Средняя
загружаем Python…
Вход
bits=[[0, 1, 1], [1, 1, 0]]
Ожидается
12

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