题目1474:矩阵幂
来源:互联网 发布:n9008v root软件 编辑:程序博客网 时间:2024/06/05 15:03
- 题目描述:
给定一个n*n的矩阵,求该矩阵的k次幂,即P^k。
- 输入:
输入包含多组测试数据。
数据的第一行为一个整数T(0<T<=10),表示要求矩阵的个数。
接下来有T组测试数据,每组数据格式如下:
第一行:两个整数n(2<=n<=10)、k(1<=k<=5),两个数字之间用一个空格隔开,含义如上所示。
接下来有n行,每行n个正整数,其中,第i行第j个整数表示矩阵中第i行第j列的矩阵元素Pij且(0<=Pij<=10)。另外,数据保证最后结果不会超过10^8。
- 输出:
对于每组测试数据,输出其结果。格式为:
n行n列个整数,每行数之间用空格隔开,注意,每行最后一个数后面不应该有多余的空格。
- 样例输入:
32 29 89 33 34 8 49 3 03 5 75 24 0 3 0 10 0 5 8 58 9 8 5 39 6 1 7 87 2 5 7 3
- 样例输出:
153 96108 811216 1248 7081089 927 5041161 1151 73947 29 41 22 16147 103 73 116 94162 108 153 168 126163 67 112 158 122152 93 93 111 97
#include<iostream>#include<cstdio>using namespace std;int main() {int t;scanf("%d",&t);while(t--) {int n,k;scanf("%d%d",&n,&k);int array[13][13];int res[13][13];int tmp[13][13];for(int i=0; i<n; i++) {for(int j=0; j<n; j++) {scanf("%d",&array[i][j]);res[i][j]=array[i][j];tmp[i][j]=array[i][j];}}if(k==1) {for(int i=0; i<n; i++) {for(int j=0; j<n-1; j++) {printf("%d ",res[i][j]);}printf("%d\n",res[i][n-1]);}return 0;}for(int i=0; i<k/2; i++) {for(int j=0; j<n; j++) {for(int u=0; u<n; u++) {int c=0;for(int v=0; v<n; v++) {c+=array[j][v]*array[v][u];}res[j][u]=c;}}for(int s=0; s<n; s++) {for(int t=0; t<n; t++) {array[s][t]=res[s][t];}}}if(k%2==1) {for(int j=0; j<n; j++) {for(int u=0; u<n; u++) {int c=0;for(int v=0; v<n; v++) {c+=array[j][v]*tmp[v][u];}res[j][u]=c;}}}for(int i=0; i<n; i++) {for(int j=0; j<n-1; j++) {printf("%d ",res[i][j]);}printf("%d\n",res[i][n-1]);}}return 0;}
用了很笨的方法做的一定要考虑到幂次是1的情况
阅读全文
0 0
- 题目1474:矩阵幂
- 题目1474:矩阵幂
- 题目1474:矩阵幂
- 题目1474:矩阵幂
- 【九度OJ】题目1474:矩阵幂 解题报告
- 九度题目1474 矩阵幂 北邮计算机机试2012
- 矩阵乘法题目总结
- 矩阵题目总结
- 题目1250:矩阵变换
- 题目1191:矩阵最大值
- 题目1180:对称矩阵
- 题目1180:对称矩阵
- 题目1164:旋转矩阵
- 矩阵乘法题目总结
- 题目1191:矩阵最大值
- 题目1191:矩阵最大值
- 题目1180:对称矩阵
- 题目1191:矩阵最大值
- hdu1261(组合排列问题)
- 从数组中抽取n个元素的全排列(JAVA)
- Transition的相关分析与使用
- 【Python】python中的乘法dot和对应分量相乘multiply
- java Excutor线程池
- 题目1474:矩阵幂
- Android-向服务器提交数据(GET-POST-AsyncHttpClient)
- 二叉搜索树转化为有序双向链表
- 两点 (DFS)
- 装箱 拆箱 基本数据类型转换
- 【shell】呈现数据
- 直通BAT--数据结构与算法九(动态规划)
- Android 反编译&回编译
- BZOJ 1379: [Baltic2001]Postman 题解