Дана матрица размера $$$n \times n$$$, состоящая из 0 и 1. Строки матрицы пронумерованы от $$$1$$$ до $$$n$$$ сверху вниз, столбцы пронумерованы от $$$1$$$ до $$$n$$$ слева направо. Клетку на пересечении $$$x$$$-й строки и $$$y$$$-го столбца обозначим как $$$(x, y)$$$.
AquaMoon хочет превратить все элементы матрицы в 0. За один шаг она может выполнить следующую операцию:
Помогите AquaMoon определить наименьшее число шагов, необходимых для того, чтобы превратить все элементы матрицы в 0. Можно показать, что ответ всегда существует.
Каждый тест состоит из нескольких наборов входных данных. В первой строке находится одно целое число $$$t$$$ ($$$1 \le t \le 10^5$$$) — количество наборов входных данных. Далее следует описание наборов входных данных.
Первая строка каждого набора входных данных содержит целое число $$$n$$$ ($$$2 \le n \le 3000$$$).
В $$$i$$$-й из следующих $$$n$$$ строк содержится бинарная строка, состоящая только из символов 0 и 1, имеющая длину $$$n$$$.
Гарантируется, что сумма значений $$$n^2$$$ по всем наборам входных данных не превосходит $$$9\,000\,000$$$.
Для каждого набора входных данных выведите наименьшее необходимое число шагов.
35001000111011111111111111131001101106010101111101011110000000111010001110
1 2 15
В первом наборе входных данных можно действовать так:
Очевидно, изначально не все элементы матрицы равны 0, так что необходима как минимум одна операция. Значит, $$$1$$$ и есть ответ.
В втором наборе входных данных можно действовать так:
Можно показать, что невозможно превратить все элементы в 0 за $$$0$$$ шагов или за $$$1$$$ шаг, так что ответ равен $$$2$$$.
Название |
---|