参考了雍学长的代码,写了一个模板,不是很完善。在初始化的时候我没有初始化为单位矩阵而是初始化为0矩阵(因为在做其他矩阵的运算时,用单位矩阵会出问题)。
下面是个函数的的意义:
void matrixPut(Matrix &temp):输出矩阵;
void matrixBuild(Matrix &temp):自定义一个矩阵;
Matrix mat_pls(const Matrix & a,const Matrix &b):矩阵的加法;
Matrix mat_mul(Matrix &a,Matrix &b):矩阵的乘法(注意这里形参不能用const,否则会出错);
Matrix fast_mod(Matrix a,int k):矩阵的快速幂(要先初始化矩阵为单位矩阵);
#include<cstdio>
#include<cstring>
#include<iostream>
using namespace std;
const int mod=0x3f3f3f3f;
const int maxn=1e7+7;
typedef long long ll;
const int N=2;
struct Matrix{
ll a[N][N];
Matrix(){
memset(a,0,sizeof(a));
//µ¥Î»¾ØÕó
/*for(int i=0;i<N;i++){