题目1474:矩阵幂

来源:互联网 发布:摄像头监控软件 编辑:程序博客网 时间:2024/06/06 21:20
#include <stdio.h>#include <stdlib.h>#include <math.h>#include <algorithm>#include <string.h>using namespace std;int main(){    int T;    while (scanf("%d", &T) != EOF){        while (T--){            long long matrix[11][11], matrix_k[11][11],tmp[11][11];            int n, k;            scanf("%d%d", &n, &k);            for (int i = 0; i < n; i++){                for (int j = 0; j < n; j++){                    scanf("%lld", &matrix[i][j]);                    matrix_k[i][j] = matrix[i][j];                }            }            while (k != 1){                long long sum = 0;                for (int i = 0; i < n; i++)                    for (int j = 0; j < n; j++)                        tmp[i][j] = matrix_k[i][j];                for (int i = 0; i < n; i++){                    for (int j = 0; j < n; j++){                        for (int a = 0; a < n; a++){                            sum+= tmp[i][a] * matrix[a][j];                        }                        matrix_k[i][j] = sum;                        sum = 0;                    }                }                k--;            }            for (int i = 0; i < n; i++){                for (int j = 0; j < n; j++){                    if (j == 0) printf("%lld", matrix_k[i][j]);                    else printf("% lld", matrix_k[i][j]);                }                printf("\n");            }        }    }    return 0;}/**************************************************************    Problem: 1474    User: cust123    Language: C++    Result: Accepted    Time:0 ms    Memory:1020 kb****************************************************************/

0 0