U652417 [YCU Cup] HM 的涂鸦墙
题目背景
**HM**(绿名)对艺术有着独特的追求。寒假集训期间,他趁 **Aerhuo** 不注意,拿起训练室的油漆刷,在白墙上进行了一番“创作”。

HM 的创作规则如下:
1. 初始墙面是全白的(颜色为 0)。
2. 他每次会选择一种**从未在墙上使用过**的颜色 $c$($1 \le c \le 50$)。
3. 他选择墙上的一个**矩形区域**,用这种颜色将其完全覆盖。
* 如果该区域之前是白色,现在变成了颜色 $c$。
* 如果该区域之前被涂过其他颜色,新颜色 $c$ 会覆盖掉旧颜色。
4. 他进行了若干次操作,直到满意为止。
训练结束后,Aerhuo 记录下了墙面最终的颜色分布。看着墙上杂乱的色块,Aerhuo 怀疑 HM 并不是每次都画矩形,可能中间偷懒乱涂了。
请你帮 Aerhuo 判断:**这面墙的图案是否可能由若干次合法的矩形覆盖操作形成?**
题目描述
给定一个 $H \times W$ 的网格,代表墙面的最终状态。
网格中的数字表示颜色:
- **0**:表示白色背景(未被任何油漆覆盖)。
- **1 ~ 50**:表示不同的油漆颜色。
你需要判断是否存在一个合法的操作序列(每种颜色至多使用一次,且每次涂且仅涂一个矩形),能生成输入的网格状态。
**本题包含多组测试数据。**
输入格式
第一行包含一个整数 $T$ ($1 \le T \le 1000$),表示测试数据的组数。
接下来对于每组测试数据:
- 第一行包含三个整数 $H, W, K$,分别表示墙面的高度、宽度以及出现的最大颜色编号。
- 接下来 $H$ 行,每行包含 $W$ 个整数 $C_{i,j}$,表示第 $i$ 行第 $j$ 列的颜色。
输出格式
对于每组测试数据:
- 如果可能形成该图案,输出 `YES`。
- 否则,输出 `NO`。
说明/提示
对于 $100\%$ 的数据:
- $1 \le T \le 1000$
- $1 \le H, W \le 2000$
- $0 \le C_{i,j} \le K$
- 所有测试数据的 $\sum (H \times W) \le 2 \cdot 10^6$。