AT_past19_g 結合律

题目描述

给定一个 $N \times N$ 的矩阵 $A$,第 $i$ 行第 $j$ 列的元素记作 $A(i,j)$。矩阵 $A$ 中恰好有一个元素为 $0$,其余的 $(N^2-1)$ 个元素均为 $1$ 到 $N$ 之间的整数。 请问有多少种方式可以将 $A$ 中唯一的 $0$ 替换为 $1$ 到 $N$ 之间的某个整数,要求替换后的 $A$ 满足以下条件: - 对所有 $1\leq i,j,k\leq N$,都有 $A(A(i,j),k)=A(i,A(j,k))$。

输入格式

从标准输入读入,格式如下: > $N$ > $A(1,1)\ A(1,2)\ \dots\ A(1,N)$ > $A(2,1)\ A(2,2)\ \dots\ A(2,N)$ > $\vdots$ > $A(N,1)\ A(N,2)\ \dots\ A(N,N)$

输出格式

输出一个整数,表示方案数。

说明/提示

### 样例解释 1 因为 $A(2,2)$ 是 $0$,我们需要考虑分别用 $1$ 到 $3$ 替换 $A(2,2)$ 的情况。 - 如果将 $A(2,2)$ 替换成 $1$:不满足条件。对于 $(i,j,k)=(2,2,3)$,有 $A(A(i,j),k)=3$,而 $A(i,A(j,k))=2$。 - 如果将 $A(2,2)$ 替换成 $2$:不满足条件。对于 $(i,j,k)=(3,3,2)$,有 $A(A(i,j),k)=2$,而 $A(i,A(j,k))=3$。 - 如果将 $A(2,2)$ 替换成 $3$:满足条件,对所有 $1\leq i,j,k\leq 3$,都有 $A(A(i,j),k)=A(i,A(j,k))$。 因此答案为 $1$。 ### 数据范围 - $1\leq N\leq 300$ - $0\leq A(i,j)\leq N$ - 矩阵 $A(i,j)\ (1\leq i,j\leq N)$ 中恰好有一个 $0$。 - 所有输入值均为整数。 由 ChatGPT 5 翻译