AcWing 5082. 矩阵运算
原题链接
简单
作者:
hareplace
,
2025-03-29 16:38:50
· 新疆
,
所有人可见
,
阅读 5
暴力做法:
#include <bits/stdc++.h>
using namespace std;
int n,d;
const int N=1e4+10;
int Q[N][20],K[N][20],V[N][20];
int W[N];
int tmp[N][N],res[N][20];
int main(){
cin>>n>>d;
for(int i=0;i<n;i++){
for(int j=0;j<d;j++){
cin>>Q[i][j];
}
}
for(int i=0;i<n;i++){
for(int j=0;j<d;j++){
cin>>K[i][j];
}
}
for(int i=0;i<n;i++){
for(int j=0;j<d;j++){
cin>>V[i][j];
}
}
for(int i=0;i<n;i++){
cin>>W[i];
}
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
for(int k=0;k<d;k++){
tmp[i][j]+=Q[i][k]*K[j][k];
}
}
}
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
tmp[i][j]=tmp[i][j]*W[i];
}
}
for(int i=0;i<n;i++){
for(int j=0;j<d;j++){
for(int k=0;k<n;k++){
res[i][j]+=tmp[i][k]*V[k][j];
}
cout<<res[i][j]<<' ';
}
cout<<endl;
}
return 0;
}
关于满分做法以后来补: