#P17160. 矩阵生成
矩阵生成
矩阵生成
来源:洛谷 P17160([入门赛 #50] 矩阵生成)
题目描述
给定一个 的数字矩阵 ,我们定义它的二阶行列式值为 。
对于一个 行 列的数字矩阵 ,用 表示第 行第 列(,)的数字。我们定义它的二阶行列式矩阵是一个 行 列的矩阵 ,其中 是矩阵 $\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}$。
现在,给定矩阵 。对 求二阶行列式矩阵可以得到矩阵 ,对 求二阶行列式矩阵可以得到矩阵 ,对 求二阶行列式矩阵可以得到矩阵 。
题目会输入一个所求矩阵名,是 A,B,C,D 四个字母之一。请你输出对应的矩阵。
输入格式
第一行有两个整数,表示矩阵 的行数和列数 。
接下来 行,每行 个整数,第 行第 列的数表示 。
最后一行是一个字符,表示所求的矩阵名 。
输出格式
先输出两个整数 ,表示所求矩阵的行数和列数。
接下来输出 行,每行 个整数,第 行第 列的数表示所求矩阵的第 行第 列的数。
样例 #1
样例输入 #1
3 3
1 2 2
5 6 4
4 4 2
B
样例输出 #1
2 2
-4 -4
-4 -4
样例解释
$B_{1,1}=A_{1,1}\times A_{2,2}-A_{1,2}\times A_{2,1}=1\times6-2\times5=-4$,类似地可以算出其他位置的值均为 。
样例 #2
样例输入 #2
3 3
1 2 2
5 6 4
4 4 2
C
样例输出 #2
1 1
0
样例解释
$C_{1,1} = B_{1,1} \times B_{2,2} - B_{1,2} \times B_{2,1} = (-4)\times(-4) - (-4)\times(-4) = 0$。
提示
数据规模与约定
| 测试点编号 | |
|---|---|
A |
|
B |
|
C |
|
D |
对全部的测试数据,保证 ,。
提示
- 根据 确定需要求几次二阶行列式矩阵(
A0 次、B1 次、C2 次、D3 次),模拟即可,总复杂度 。 - 数值会逐级增长:,,,必须用
long long。
测试点数据说明
| 测试点 | 规模 | 说明 | |
|---|---|---|---|
| 1 | A | 4×4 | 直接输出输入矩阵 |
| 2 | B | 5×5 随机 | 结果 4×4 |
| 3 | 1000×1000 随机 | 满规模 | |
| 4 | 4×1000 随机 | 行数最小、列数最大 | |
| 5 | C | 6×6 随机 | 结果 4×4 |
| 6 | 1000×1000 随机 | 满规模 | |
| 7 | 1000×4 随机 | 行数最大、列数最小 | |
| 8 | D | 1000×1000 随机 | 数值可达 |
| 9 | 4×4 | 结果 1×1 | |
| 10 | 1000×1000 全 1 | 退化:B/C/D 全为 0 |