#1505. 易守难攻
易守难攻
题目描述
袋鼠将军需要选择若干个地形制高点作为驻地。整个平原被划分为一个 行 列的网格,每个格子上都有一个高度值。我们称格子 (其中 )为 驻地点,当且仅当它满足以下两个条件:
- 该格子不位于边界上,即 且 。
- 该格子的高度值 严格大于 其 个相邻格子的高度值。与 相邻的格子包括:$$(x-1,y-1),\ (x-1,y),\ (x-1,y+1),\ (x,y-1),\ (x,y+1),\ (x+1,y-1),\ (x+1,y),\ (x+1,y+1) $$
现在,袋鼠将军可以任意重新分配格子的高度值。它可以将整数 各放入一个格子中使其成为对应格子的高度值,且使得每个数恰好出现一次。
你需要给出一组高度值的分配方案,使得 驻地点 的个数等于指定的值;或者报告不存在这样的分配方案。
输入格式
输入包含多组数据。
首先输入一行一个整数 (),表示数据的组数。
对于每组数据,输入一行三个整数 , , (, , ),表示整个平原被划分为了 行 列的网格,且 驻地点 的个数需要为 。
保证对于一个测试点的所有数据, 的和不超过 。
输出格式
对于每组数据:
- 如果存在合法的分配方案,使得 驻地点 的个数等于指定的值,首先输出一行一个字符串
"Yes",然后输出 行,每行 个整数,表示划分的方案。如果存在多组合法的分配方案,输出一组即可。 - 如果不存在合法的分配方案,输出一行一个字符串
"No"。
注意: 输出对大小写不敏感。例如,"YES" 与 "yEs" 都可以表示存在合法的分配方案。
样例
4
3 3 1
4 5 2
1 1 1
1 2 0
Yes
4 3 5
7 9 1
2 8 6
Yes
2 17 16 4 3
15 18 14 13 12
11 10 9 19 8
20 1 7 6 5
No
Yes
2 1
提示
在第一组数据中,有且仅有位于 的 大于相邻的所有高度值。
在第二组数据中,位于 的 与位于 的 大于相邻的所有高度值。
在第三组数据中,不存在合法的分配方案。
在第四组数据中,可以被选择为驻地点的格子的数量为 。
样例
4
3 3 1
4 5 2
1 1 1
1 2 0
Yes
4 3 5
7 9 1
2 8 6
Yes
2 17 16 4 3
15 18 14 13 12
11 10 9 19 8
20 1 7 6 5
No
Yes
2 1
提示
在第一组数据中,有且仅有位于 的 大于相邻的所有高度值。
在第二组数据中,位于 的 与位于 的 大于相邻的所有高度值。
在第三组数据中,不存在合法的分配方案。
在第四组数据中,可以被选择为驻地点的格子的数量为 。
相关
在下列比赛中: