Вам дана таблица из \(n\) строк и \(m\) столбцов, в каждой клетке которой записано число \(0\) или число \(1\).
Уголком будем называть любой квадратик \(2 \times 2\) без одной угловой клетки. Вы хотите добиться того, что в таблице не останется ни одной единицы. За одну операцию вы можете выбрать любой уголок, который содержит хотя бы одну \(1\), и заменить все числа в уголке на нули.
Вам очень нравится ваша таблица, поэтому вы хотите определить, какое максимальное количество операций вы можете сделать перед тем, как в таблице останутся лишь нули.
Выходные данные
Для каждого набора входных данных выведите единственное число — искомое максимальное количество операций.
Примечание
В первом тестовом случае одним из возможных способов оптимально выполнить операции является следующий (жирным шрифтом выделяется треугольник, на котором была выполнена операция):
- Матрица до выполнения каких либо операций:
- Матрица после выполнения \(1\) операции:
- Матрица после выполнения \(2\) операций:
- Матрица после выполнения \(3\) операций:
- Матрица после выполнения \(4\) операций:
- Матрица после выполнения \(5\) операций:
- Матрица после выполнения \(6\) операций:
- Матрица после выполнения \(7\) операций:
- Матрица после выполнения \(8\) операций:
В третьем тестовом случае из примера мы не можем выполнить ни одной операции, так как в изначальной таблице нет единиц.
В четвертом тестовом случае из примера вне зависимости от выбора первого уголка у нас всегда останется единственная единичка. Поэтому всего мы применим \(2\) операции.
| № | Входные данные | Выходные данные |
|
1
|
4
4 3
101
111
011
110
3 4
1110
0111
0111
2 2
00
00
2 2
11
11
|
8
9
0
2
|