Codeforces Round 663 (Div. 2) |
---|
Закончено |
Бинарная матрица называется хорошей, если каждая квадратная подматрица c четной длиной стороны содержит нечетное число единиц.
Для данной бинарной матрицы $$$a$$$, состоящей из $$$n$$$ строк и $$$m$$$ столбцов, определите минимальное количество ячеек, которые нужно изменить, чтобы сделать ее хорошей, или сообщите, что ее вообще нельзя сделать хорошей.
Все вышеприведенные термины имеют свои обычные значения — обратитесь к разделу Примечания для их формальных определений.
Первая строка содержит два целых числа $$$n$$$ и $$$m$$$ ($$$1 \leq n \leq m \leq 10^6$$$ и $$$n\cdot m \leq 10^6$$$) — число строк и столбцов в $$$a$$$ соответственно.
Каждая из следующих $$$n$$$ строк содержит $$$m$$$ символов, каждый из которых равен 0 или 1. Если $$$j$$$-й символ в $$$i$$$-й строке равен 1, то $$$a_{i,j} = 1$$$. Аналогично, если $$$j$$$-й символ в $$$i$$$-й строке равен 0, то $$$a_{i,j} = 0$$$
Выведите минимальное количество ячеек, которое нужно изменить, чтобы сделать $$$a$$$ хорошей, или выведите $$$-1$$$, если это вообще невозможно.
3 3 101 001 110
2
7 15 000100001010010 100111010110001 101101111100100 010000111111010 111010010100001 000011001111101 111111011010011
-1
В первом случае достаточно заменить $$$a_{1,1}$$$ на $$$0$$$ и $$$a_{2,2}$$$ на $$$1$$$.
Вы можете проверить, что нет никакой возможности сделать матрицу во втором случае хорошей.
Некоторые определения —
Название |
---|