Binary Matrix 2
Вам дана матрица размером r×c. Каждый элемент этой матрицы может быть либо 0, либо 1. В каждой операции вы можете изменить значение любого элемента: 0 на 1 или 1 на 0. Ваша задача — преобразовать матрицу так, чтобы:
В каждом ряду было одинаковое количество 1.
В каждом столбце было одинаковое количество 1.
Какое минимальное количество операций необходимо для достижения этой цели?
Входные данные
Входные данные начинаются с положительного целого числа T ( 1000), которое обозначает количество наборов входных данных.
Каждый набор начинается с двух целых чисел m и n (1 ≤ r, c ≤ 40), где r — количество рядов, а c — количество столбцов матрицы. Каждая из следующих m строк содержит n целых чисел, либо 0, либо 1.
Выходные данные
Для каждого тестового случая выведите строку "Case #: R", где # — номер случая, а R — минимальное количество шагов, необходимых для достижения целевой матрицы. Если достичь целевой матрицы невозможно, замените R на -1.