#P17160. [入门赛 #50] 矩阵生成

[入门赛 #50] 矩阵生成

题目描述

给定一个 2×22 \times 2 的数字矩阵 [abcd]\left[\begin{matrix}a& b\\ c&d\end{matrix}\right],我们定义它的二阶行列式值为 a×dc×ba \times d - c \times b

对于一个 nnmm 列的数字矩阵 AA,用 Ai,jA_{i,j} 表示第 ii 行第 jj 列(1in1 \leq i \leq n1jm1 \leq j \leq m)的数字。我们定义它的二阶行列式矩阵是一个 n1n-1m1m-1 列的矩阵 BB,其中 Bi,jB_{i,j} 是矩阵 $\left[\begin{matrix}A_{i,j}&A_{i,j+1}\\ A_{i+1,j}&A_{i+1,j+1}\end{matrix}\right]$ 的二阶行列式值,即 $B_{i,j} = A_{i,j} \times A_{i+1,j+1} - A_{i,j+1}\times A_{i+1,j}$。

现在,给定矩阵 AA。对 AA 求二阶行列式矩阵可以得到矩阵 BB,对 BB 求二阶行列式矩阵可以得到矩阵 CC,对 CC 求二阶行列式矩阵可以得到矩阵 DD

题目会输入一个所求矩阵名,是 A,B,C,D\texttt{A,B,C,D} 四个字母之一。请你输出对应的矩阵。

输入格式

第一行有两个整数,表示矩阵 AA 的行数和列数 n,mn,m
接下来 nn 行,每行 mm 个整数,第 ii 行第 jj 列的数表示 Ai,jA_{i,j}
最后一行是一个字符,表示所求的矩阵名 qq

输出格式

先输出两个整数 r,cr,c,表示所求矩阵的行数和列数。
接下来输出 rr 行,每行 cc 个整数,第 ii 行第 jj 列的数表示所求矩阵的第 ii 行第 jj 列的数。

输入输出样例 #1

输入 #1

4 4
1 2 3 4
5 6 7 8
9 10 11 12
13 14 15 16
A

输出 #1

4 4
1 2 3 4
5 6 7 8
9 10 11 12
13 14 15 16

输入输出样例 #2

输入 #2

4 4
1 2 3 4
5 6 7 8
9 10 11 12
13 14 15 16
B

输出 #2

3 3
-4 -4 -4
-4 -4 -4
-4 -4 -4

输入输出样例 #3

输入 #3

4 4
1 2 3 4
5 6 7 8
9 10 11 12
13 14 15 16
C

输出 #3

2 2
0 0
0 0

说明/提示

样例 1 解释

AA 矩阵即为输入的矩阵。

样例 2 解释

$B_{1,1}=A_{1,1}\times A_{2,2}-A_{1,2}\times A_{2,1}=1\times6-2\times5=-4$

类似地可以算出其他位置的值均为 4-4

样例 3 解释

$C_{1,1} = B_{1,1} \times B_{2,2} - B_{1,2}\times B_{2,1} = (-4)\times(-4) - (-4)\times(-4) = 0$

类似地可以算出其他位置的值均为 00

数据规模与约定

测试点编号 q=q=
11 A\texttt A
242 \sim 4 B\texttt{B}
575 \sim 7 C\texttt{C}
8108 \sim 10 D\texttt{D}

对全部的测试数据,保证 4n,m1034 \leq n, m \leq 10^31Ai,j1001 \leq A_{i,j} \leq 100