C. 景点翻修

    传统题 文件IO:AIA 1000ms 256MiB

景点翻修

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

题目描述

景区公园中有 n2n^2 个景点,形成 n×nn×n 的方格。行编号从上到下递增,列编号从左到右递增。

台风过后,所有景点都受到了破坏。其中一些是人工景点,可以翻修,另外一些是自然景观,暂时无法翻修。我们会输入每个格点的景点能否翻修。

给定整数 kk,你的工程队最多能翻修 (nk+1)2(n−k+1)^2 个人工景点。

游客会从左上角的格点的左上方(相当于第 1-1 行第 1-1 列)进入景区,右下角离开景区。游客只能向右下方走(正右方和正下方也不能走,也就是说,游客经过的景点的行列号都是单调严格递增的)。如果游客一路上经过了 k\ge k 个没修好的景点,就会愤怒,否则游客会满意。

请你判断是否可能保证让所有游客满意,如果有,给出一种修缮方案。

输入格式

输入第一行一个整数 tt,表示测试数据组数。

以下每组第一行两个整数 n,kn,k 满足 2n,k10002≤n,k≤1000 ,以下 nn 行,每行 nn 个数字, 11 表示可翻修该方格, 00 表示无法翻修。

输出格式

对于每组测试数据,若有解,输出 YES 并输出 nn 行,每行 nn 个数字, 00 表示该方格被翻修, 11 表示未被翻修。仅需输出任一个解。若无解输出 NO

输入输出样例 #1

输入 #1

4
2 2
10
01
4 3
1110
0101
1010
0111
5 5
01111
10111
11011
11101
11110
5 2
10000
01111
01111
01111
01111

输出 #1

YES
01
11
YES
0011
1111
1111
1100
NO
YES
01111
11000
10000
10000
10000

说明/提示

对于第一组数据,只需要翻修 (1,1)(1,1)。对于第二组数据,可以翻修 (1,1),(1,2),(4,3),(4,4)(1,1),(1,2),(4,3),(4,4)。对于第三组数据,没有解。

子任务

对所有测试点有 t5t \leq 5

测试点编号 nn kk
1,2 5\leq 5
3,4 100\leq 100 100\leq 100
5,6 无特殊限制
7,8,9,10 无特殊限制

下发文件

20260124模拟赛

未参加
状态
已结束
规则
OI
题目
3
开始于
2026-1-24 8:00
结束于
2026-1-24 12:30
持续时间
4.5 小时
主持人
参赛人数
29