| Codeforces Round 1058 (Div. 1) |
|---|
| Закончено |
Вам дана бинарная сетка$$$^{\text{∗}}$$$ $$$G$$$ размером $$$n \times m$$$.
Определим прямоугольник как кортеж $$$(u,d,l,r)$$$, который удовлетворяет следующим условиям:
Тогда площадь прямоугольника $$$(u,d,l,r)$$$ определяется как $$$(d-u+1) \cdot (r-l+1)$$$.
Например, рассмотрим следующую бинарную сетку:
$$$$$$\begin{matrix} 1 & 0 & 1 & 0 & 1 \\ 1 & 0 & 1 & 0 & 0 \\ 0 & 0 & 1 & 0 & 1 \end{matrix}$$$$$$
Здесь вы можете увидеть два прямоугольника $$$(1,2,1,3)$$$ и $$$(1,3,3,5)$$$$$$^{\text{†}}$$$, которые имеют площади $$$6$$$ и $$$9$$$ соответственно.
Для каждой ячейки $$$(i,j)$$$ найдите минимальную площадь любого прямоугольника $$$(u,d,l,r)$$$, такого что $$$u \le i \le d$$$ и $$$l \le j \le r$$$.
$$$^{\text{∗}}$$$Бинарная сетка — это сетка, в которой каждая ячейка содержит $$$0$$$ или $$$1$$$. Ячейка в $$$j$$$-м столбце $$$i$$$-й строки обозначается как ячейка $$$(i,j)$$$.
$$$^{\text{†}}$$$Обратите внимание, что это единственные прямоугольники в сетке; например, $$$(1,1,1,5)$$$ не является прямоугольником, так как не удовлетворяет условию $$$u \lt d$$$.
Каждый тест состоит из нескольких наборов входных данных. В первой строке находится одно целое число $$$t$$$ ($$$1 \le t \le 10^4$$$) — количество наборов входных данных. Далее следует описание наборов входных данных.
Первая строка каждого набора входных данных содержит два целых числа $$$n$$$ и $$$m$$$ ($$$2 \le n,m$$$, $$$n\cdot m \le 250\,000$$$).
Каждая из следующих $$$n$$$ строк содержит строку длиной $$$m$$$, обозначающую $$$i$$$-ю строку $$$G$$$ ($$$G_{i,j} \in \{0,1\}$$$).
Гарантируется, что сумма $$$n\cdot m$$$ по всем наборам входных данных не превосходит $$$250\,000$$$.
Для каждого набора входных данных выведите сетку из $$$n$$$ строк и $$$m$$$ столбцов. В $$$j$$$-м столбце $$$i$$$-й строки вы должны вывести:
33 51010110100001014 60111010100011000101011105 51110010110111110110100111
6 6 6 9 96 6 6 9 90 0 9 9 90 10 8 8 10 100 10 8 8 10 1010 10 8 8 10 010 10 8 8 10 06 6 6 0 06 6 4 4 06 4 4 4 60 4 4 6 60 0 6 6 6
Первый набор входных данных объяснён в условии.
Для третьего набора входных данных существует шесть прямоугольников, которые содержат хотя бы одну ячейку и имеют минимальную площадь:
| Название |
|---|


