bzoj#P1154. [CTSC2006]方块填数Fill
[CTSC2006]方块填数Fill
题目描述
最近,一个方块填数的游戏风靡全球:给定一个 的方块。 行从上到下标号为 到 , 列从左到右标号为 到 。
如果一个方格所在的行的标号和所在的列的标号都是奇数,那么该方格就称为奇方格。游戏的开始所有的奇方格中都填上了数。
你需要在其他的方格里填数,如果填完数后,方块满足下面条件,你就赢得了这个游戏:
- 任意一个 的子方块中所有数的和大于 。
- 任意一个 的子方块中所有数的和小于 。
其中, 都是在游戏的开始给定的。
一个 的子方块是指行标号在 到 之间,列标号在 到 之间的所有的方格的集合。
小 P 很喜欢这种游戏,他希望你帮助写一个程序给出一种填数的方案,或者告诉他这样的方案不存在。
输入格式
第一行为用空格分开的 个正整数 。
从第 行起到 行,每一行有 个整数。
第 行的第 个数表示在游戏开始时方块的第 行, 列的方格所填的整数。
输出格式
如果填数方案不存在,输出一行 No
。
如果填数方案存在,第一行输出 Yes
。
接下来的 行,每一行有用空格分开的 个整数,描述一个填数方案。
3 3 2 2 3 3
1 1
1 1
Yes
1 -1 1
-4 5 -4
1 -1 1
数据规模与约定
对于 的数据,保证 ,游戏开始时所填的数都在 到 之间。
您所输出的每个数都必须在 到 之间。
题目来源
vfleaking
鸣谢
感谢 Acetyl 提供 spj。