专栏文章
题解:P1001 A+B Problem
P1001题解参与者 34已保存评论 37
文章操作
快速查看文章及其快照的属性,并进行相关操作。
- 当前评论
- 37 条
- 当前快照
- 1 份
- 快照标识符
- @mipcx8v4
- 此快照首次捕获于
- 2025/12/03 09:57 3 个月前
- 此快照最后确认于
- 2025/12/03 09:57 3 个月前
怎么不写矩阵乘法?
首先我们需要知道矩阵乘法,两个矩阵 和 相乘的结果是 。
我们设 表示 矩阵的第 行第 个元素, 表示 矩阵的第 行第 个元素,那么有公式 。
好的,相信聪明的你已经学会了矩阵乘法,再来看看这个题,我们可以令 矩阵是 令 矩阵是 那么 的结果就是 了。
代码:
CPP#include<iostream>
struct Matrix{
int g[2][2];
Matrix (){
for(int i = 0;i < 2; ++ i){
for(int j = 0;j < 2; ++ j){
g[i][j] = 0;
}
}
}
};
inline Matrix operator * (const Matrix & x,const Matrix & y){
Matrix z;
for(int i = 0;i < 2; ++ i){
for(int j = 0;j < 2; ++ j){
for(int k = 0;k < 2; ++ k){
z.g[i][j] += x.g[i][k] * y.g[k][j];
}
}
}
return z;
}
int main(){
Matrix A,B;
int a,b;
std::cin >> a >> b;
A.g[0][0] = 1;
A.g[0][1] = 1;
B.g[0][0] = a;
B.g[1][0] = b;
A = A * B;
std::cout << A.g[0][0];
return 0;
}
相关推荐
评论
共 37 条评论,欢迎与作者交流。
正在加载评论...