#ifndef _MATRIX_H_
#define _MATRIX_H_
#define T 8
#include<cstring>
class Matrix{
public:
Matrix();
Matrix operator *(Matrix &m);
Matrix operator %(int mod);
int getAns(int c, int r);
void setAns(int c, int r, int x);
private:
int data[T][T];
};
Matrix::Matrix(){
memset(data, 0, sizeof(data));
}
Matrix Matrix::operator *(Matrix &m){
Matrix M;
for (int i = 0; i < T; i++){
for (int j = 0; j < T; j++){
for (int k = 0; k < T; k++){
M.data[i][j] += (data[i][k] * m.data[k][j]);
}
}
}
return M;
}
Matrix Matrix::operator %(int mod){
Matrix M(*this);
for (int i = 0; i < T; i++){
for (int j = 0; j < T; j++){
M.data[i][j] %= mod;
}
}
return M;
}
int Matrix::getAns(int c, int r){
return data[c][r];
}
void Matrix::setAns(int c, int r, int x){
data[c][r] = x;
}
#endif
自用矩阵操作
最新推荐文章于 2025-07-29 19:56:06 发布