ma tran
unknown
plain_text
3 years ago
1.1 kB
6
Indexable
#include <iostream>
using namespace std;
long long A[101][101];
long long res[101][101];
void nhan(long long a[101][101],long long b[101][101], int n){
long long B[101][101];
for(int i = 0; i < n; i++){
for(int j = 0; j < n; j++){
long long tong = 0;
for(int k = 0; k < n; k++){
tong = tong + a[i][k]*b[k][j];
}
B[i][j] = tong % 100000007;
}
}
for(int i = 0; i < n; i++){
for(int j = 0; j < n; j++){
res[i][j] = B[i][j];
}
}
}
void tinh(int m, int n){
if(m == 1){
return ;
}
else{
tinh(m/2, n);
nhan(res,res,n);
if( m %2 == 1){
nhan(res,A,n);
}
}
}
int main(){
freopen("input.txt", "r", stdin);
int T;
cin >> T;
for(int tc = 1; tc <= T; tc++){
int n,m;
cin >> n >> m;
for(int i = 0; i < n; i++){
for(int j = 0; j < n; j++){
cin >> A[i][j];
res[i][j] = A[i][j];
}
}
tinh(m,n);
cout << "Case #" << tc << endl;
for(int i = 0; i < n; i++){
for(int j = 0; j < n; j++){
cout << res[i][j] << " ";
}
cout << endl;
}
}
return 0;
}Editor is loading...