文章
13
粉丝
168
获赞
13
访问
16.4k
递归矩阵乘法,res矩阵(初始设为matrix)乘k个matrix矩阵
#include<bits/stdc++.h>
using namespace std;
#define rep(i,s,e) for(int i=s;i<e;i++)
#define per(i,s,e) for(int i=s;i>e;i--)
#define LL long long
//递归矩阵乘法,res矩阵乘k个matrix矩阵
vector< vector<LL> > nnMatrixMtl(LL n,vector< vector<LL> > res,vector< vector<LL> > matrix,LL k){
vector< vector<LL> > temp_res;//保存res*1个matrix的结果
vector<LL> line;
if(k==0) return res;
LL val;
//执行res乘1个matrix矩阵,保存在temp_res中
rep(i,0,n){
rep(j,0,n){
//计算temp_res[i][j]处的值val
val=0;
rep(x,0,n) val+=res[i][x]*matrix[x][j];
line.push_back(val);
}
temp_res.push_back(line);
line.clear();
}
return nnMatrixMtl(n,temp_res,matrix,k-1);
}
int main(){
LL n,k,val;
vector<LL> line;
vector< vector<LL> &g...
登录后发布评论
暂无评论,来抢沙发