AT_abc433_e [ABC433E] Max Matrix 2
题目描述
给定整数 $N, M$,一个长度为 $N$ 的整数序列 $X = (X_1, X_2, \ldots, X_N)$,以及一个长度为 $M$ 的整数序列 $Y = (Y_1, Y_2, \ldots, Y_M)$。
请你判断是否存在一个 $N$ 行 $M$ 列的整数矩阵 $A = (A_{i,j})$ ($1 \leq i \leq N,\ 1 \leq j \leq M$),满足以下所有条件。如果存在,构造出任意一个满足条件的矩阵 $A$。
- $1 \leq A_{i,j} \leq N \times M$。
- $A_{i,j}$ 的 $N \times M$ 个元素互不相同。
- 对于 $i=1,2,\ldots,N$,有 $\displaystyle \max_{1\leq j\leq M} A_{i,j} = X_i$。
- 对于 $j=1,2,\ldots,M$,有 $\displaystyle \max_{1\leq i\leq N} A_{i,j} = Y_j$。
共有 $T$ 组测试数据;请分别解答每一组数据。
输入格式
输入由标准输入给出,格式如下:
$T$
$\text{case}_1$
$\text{case}_2$
$\vdots$
$\text{case}_T$
每组测试数据格式如下:
$N\ M\ X_1\ X_2\ \ldots\ X_N\ Y_1\ Y_2\ \ldots\ Y_M$
输出格式
按顺序输出每组测试数据的答案,每组用换行隔开。
对于每组测试,如果不存在符合条件的 $A$,输出 `No`(大小写敏感)。
否则,输出一个符合条件的 $A$,格式如下:
Yes
$A_{1,1}\ A_{1,2}\ \ldots\ A_{1,M}$
$A_{2,1}\ A_{2,2}\ \ldots\ A_{2,M}$
$\vdots$
$A_{N,1}\ A_{N,2}\ \ldots\ A_{N,M}$
如果有多个满足条件的矩阵 $A$,输出任意一个都可。
说明/提示
### 样例解释 1
以第一个测试数据为例。
在样例输出中,所有 $A$ 的元素都在 $1$ 到 $6$ 之间,且均互不相同,并且:
- $\displaystyle \max_{1\leq j\leq 3} A_{1,j} = \max\lbrace 5,1,4\rbrace = 5 = X_1$
- $\displaystyle \max_{1\leq j\leq 3} A_{2,j} = \max\lbrace 2,3,6\rbrace = 6 = X_2$
- $\displaystyle \max_{1\leq i\leq 2} A_{i,1} = \max\lbrace 5,2\rbrace = 5 = Y_1$
- $\displaystyle \max_{1\leq i\leq 2} A_{i,2} = \max\lbrace 1,3\rbrace = 3 = Y_2$
- $\displaystyle \max_{1\leq i\leq 2} A_{i,3} = \max\lbrace 4,6\rbrace = 6 = Y_3$
因此全部条件均被满足。
其他输出,如:
```
Yes
5 3 1
4 2 6
```
同样可以被接受。
### 数据范围
- $1\leq T\leq 10^5$
- $1\leq N, M$
- 所有测试数据中 $\sum N\times M \leq 2\times 10^5$
- $1\leq X_i,Y_j\leq N\times M$
- 所有输入均为整数。
由 ChatGPT 5 翻译