Codeforces Global Round 22 |
---|
Закончено |
Вам дана таблица $$$n \times n$$$.
Обозначим за $$$(i, j)$$$ клетку из $$$i$$$-й строки и $$$j$$$-го столбца. Для каждой клетки известно, можно ее удалить или нет.
Дано целое число $$$k$$$, вам необходимо удалить ровно $$$(n-k+1)^2$$$ клеток из таблицы так, чтобы выполнялось следующее условие.
В первой строк содержится целое число $$$t$$$ ($$$1 \leq t \leq 10^5$$$) — количество наборо входных данных.
Первая строка набора входных данных содержит два целых числа $$$n$$$ и $$$k$$$ ($$$2 \leq k \leq n \leq 1000$$$).
Далее следуют $$$n$$$ строк. $$$i$$$-я строка содержит бинарную строку $$$s_i$$$ длины $$$n$$$. $$$j$$$-й символ $$$s_i$$$ это 1 если вы можете удалить клетку $$$(i, j)$$$, и 0 в противном случае.
Гарантируется, что сумма $$$n^2$$$ по всем наборам входных данных не превосходит $$$10^6$$$.
Для каждого набора входных данных, если не существует способа удалить ровно $$$(n-k+1)^2$$$ клеток, чтобы выполнить условие, выведите «NO» (без кавычек).
В противном случае выведите «YES» (без кавычек). Затем, выведите $$$n$$$ строк. $$$i$$$-я строка должна содержать бинарную строку $$$t_i$$$ длины $$$n$$$. $$$j$$$-й символ $$$t_i$$$ это 0 если клетка $$$(i, j)$$$ удалена, и 1 в противном случае.
Если существуют несколько решений, выведите любое из них.
Вы можете выводить «YES» и «NO» в любом регистре (например, строки «yEs», «yes» и «Yes» будут распознаны как положительный ответ).
42 210014 311100101101001115 501111101111101111101111105 21000001111011110111101111
YES 01 11 YES 0011 1111 1111 1100 NO YES 01111 11000 10000 10000 10000
В первом примере достаточно удалить клетку $$$(1, 1)$$$.
Во втором примере можно выбрать для удаления клетки $$$(1,1)$$$, $$$(1,2)$$$, $$$(4,3)$$$ и $$$(4,4)$$$.
Для третьего примера нет решения, потому что клетки по диагонали всегда будут образовывать строго возрастающую последовательность длины $$$5$$$.
Название |
---|