#ATagc057e. [AGC057E] RowCol/ColRow Sort
[AGC057E] RowCol/ColRow Sort
题目描述
给定一个 的矩阵 (),定义如下两种操作:
- 行排序:对每一行进行升序排序。即对于所有 ,将 升序排列。
- 列排序:对每一列进行升序排序。即对于所有 ,将 升序排列。
给定一个 的矩阵 ,请计算满足以下两个条件的 矩阵 的总数,并对 取模:
- 对 先进行行排序再进行列排序,结果等于 。
- 对 先进行列排序再进行行排序,结果等于 。
输入格式
输入通过标准输入给出,格式如下:
输出格式
输出满足条件的矩阵 的总数,对 取模后的结果。
样例 1
输入
2 2
0 0
1 2
输出
4
样例 2
输入
3 3
0 1 3
2 4 7
5 6 8
输出
576
样例 3
输入
3 5
0 0 0 1 1
0 0 1 1 2
0 1 1 2 2
输出
10440
样例 4
输入
1 7
2 3 3 6 8 8 9
输出
1260
说明/提示
限制条件
- 对任意 及 ,有
- 对任意 及 ,有
- 输入的所有值均为整数
样例解释 1
满足条件的矩阵有如下 个:,,,。例如, 满足条件的验证如下:
- 先行排序再列排序:$\begin{pmatrix}2&1\\0&0\end{pmatrix}\to\begin{pmatrix}1&2\\0&0\end{pmatrix}\to\begin{pmatrix}0&0\\1&2\end{pmatrix}$。
- 先列排序再行排序:$\begin{pmatrix}2&1\\0&0\end{pmatrix}\to\begin{pmatrix}0&0\\2&1\end{pmatrix}\to\begin{pmatrix}0&0\\1&2\end{pmatrix}$。
样例解释 2
例如 满足条件,验证如下:
- 先行排序再列排序:$\begin{pmatrix}5&7&6\\3&0&1\\4&8&2\end{pmatrix}\to\begin{pmatrix}5&6&7\\0&1&3\\2&4&8\end{pmatrix}\to\begin{pmatrix}0&1&3\\2&4&7\\5&6&8\end{pmatrix}$。
- 先列排序再行排序:$\begin{pmatrix}5&7&6\\3&0&1\\4&8&2\end{pmatrix}\to\begin{pmatrix}3&0&1\\4&7&2\\5&8&6\end{pmatrix}\to\begin{pmatrix}0&1&3\\2&4&7\\5&6&8\end{pmatrix}$。
由 ChatGPT 4.1 翻译