1 条题解
-
0
C++ :
#include<stdio.h> #include<iostream> #include<stdlib.h> using namespace std; int main() { int N, M; cin >> N >> M; int *Array = (int *)calloc(N*N, sizeof(int)); int *R_Array = (int *)calloc(N*N, sizeof(int)); int *R = (int *)calloc(N*N, sizeof(int)); for(int i = 0; i < N; i++) { for(int j = 0; j < N; j++) { cin >> Array[i*N+j]; R_Array[i*N+j] = Array[i*N+j]; R[i*N+j] = Array[i*N+j]; } } if(M == 0) { for(int i = 0; i < N; i++) { for(int j = 0; j < N; j++) { if(i == j) R_Array[i*N+j] = 1; else R_Array[i*N+j] = 0; } } } else { for(int k = 1; k < M; k++) { for(int i = 0; i < N; i++) { for(int j = 0; j < N; j++) { R[i*N+j] = 0; for(int r = 0; r < N; r++) { R[i*N+j] += R_Array[i*N+r] * Array[r*N+j]; } } } for(int i = 0; i < N; i++) { for(int j = 0; j < N; j++) { R_Array[i*N+j] = R[i*N+j]; } } } } for(int i = 0; i < N; i++) { for(int j = 0; j < N; j++) { if(j == N-1) { cout << R_Array[i*N+j]; break; } cout << R_Array[i*N+j] << " "; } cout << endl; } free(Array); free(R_Array); free(R); return 0; }
- 1
信息
- ID
- 3042
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- (无)
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者