Олимпиадный тренинг

Задача . Cow Tipping


Задача

Темы:
У Фермера Джона появилась проблема с тинэйджерами, которые залезали на ферму ночью и опрокидывали коров. Однажды утром это случилось опять. Некоторые из его \(N^2\) коров которые паслись на квадратном пастбище \(N \times N\) (\(1 \leq N \leq 10\)), оказались опрокинутыми.

У ФД есть машина, которая может поставить на ноги сразу всех коров, которые были опрокинуты, из указанного прямоугольника, правда при этом она опрокидывает всех коров из этого прямоугольника, которые стояли. То есть, машина переключает состояние кажэдой коровы из этого прямоугольника.

Помогите ФД определить минимальное количество применений машины, чтобы все коровы оказались в не опрокинутом положении.

Заметим, что применение машины в однмо и том же прямоугольнке дважды бесполезно, поскольку не изменит состояние коров в этом прямоугольнике.

ФОРМАТ ВВОДА (файл cowtip.in):

Первая строка ввода содержит целое число \(N\).

Каждая из последующих строк содержит строку из \(N\) (0 - не опрокинутая корова, 1 - опрокинутая корова).

ФОРМАТ ВЫВОДА (файл cowtip.out):

Выведите минимальное количество раз, которое ФД должен применить машину, чтобы все коровы оказались не опрокинутыми.


Примеры
Входные данныеВыходные данные
1 3
001
111
111
2

time 500 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
Комментарий учителя