中文翻译
查看原帖
中文翻译
1368222
Wei_Lai131224楼主2025/1/19 15:09

【题目描述】

给定一个素数pp和一个N×N的矩阵A=Ai,j1i,jNA=A_{i,j}(1≤i,j≤N),矩阵AA的元素是00p1p−1之间的整数。 将矩阵AA中所有的00替换为11p1p−1之间的整数,可以得到矩阵BB。如果矩阵AA00的个数为KK,那么可以得到(p1)K(p−1)^K个不同的矩阵BB。 请计算所有可能的矩阵BBBpB^p 的总和,并求出总和矩阵中每个元素对pp取余的结果。

【输入格式】

输入格式如下 NpA1,1A1,NAN,1AN,NN p\\ A_{1,1}⋯A_{1,N}\\ ⋮\\ A_{N,1}⋯A_{N,N}\\

【输出格式】

请输出NN行。

ii行输出第ii行第jjj=1,...,N(j=1,...,N)的所有可能的矩阵BBBpB^p的总和的(i,j)(i,j)元素对pp取余的结果,用空格分隔。

【样例组】

【输入1】

2 3
0 1
0 2

【输出1】

0 2
1 2

【输入2】

0 2
1 2

【输出2】

1 1 1
1 1 1
1 1 1

【输入3】

4 13
0 1 2 0
3 4 0 5
0 6 0 7
8 9 0 0

【输出3】

8 0 6 5
11 1 8 5
8 0 4 12
8 0 1 9

【提示/说明】

【样例解释#1】

BpB^p所有可能如下:
(1112)3=(58813)(1122)3=(991818)(2112)3=(14131314)(2122)3=(20142820)\begin{pmatrix} 1&1 \\ 1&2 \\ \end{pmatrix}^3=\begin{pmatrix} 5&8 \\ 8&13 \\ \end{pmatrix}\\ \begin{pmatrix} 1&1 \\ 2&2 \\ \end{pmatrix}^3=\begin{pmatrix} 9&9 \\ 18&18 \\ \end{pmatrix}\\ \begin{pmatrix} 2&1 \\ 1&2 \\ \end{pmatrix}^3=\begin{pmatrix} 14&13 \\ 13&14 \\ \end{pmatrix}\\ \begin{pmatrix} 2&1 \\ 2&2 \\ \end{pmatrix}^3=\begin{pmatrix} 20&14 \\ 28&20 \\ \end{pmatrix}\\ 输出每个元素对 p=3p=3 取余的结果。

【样例解释#2】

(111111111)2=(333333333)\begin{pmatrix} 1&1&1 \\ 1&1&1 \\ 1&1&1 \\ \end{pmatrix}^2= \begin{pmatrix} 3&3&3 \\ 3&3&3 \\ 3&3&3 \\ \end{pmatrix} 输出每个元素对 p=2p=2 取余的结果。

【数据范围】

1N1001≤N≤100\\ pp是一个素数,使得 1p1091≤p≤10^9
0Ai,jp10≤A_{i,j}≤p−1\\ 所有输入值均为整数。

2025/1/19 15:09
加载中...