给出一个N * N的矩阵,其中的元素均为正整数。求这个矩阵的M次方。由于M次方的计算结果太大,只需要输出每个元素Mod (10^9 + 7)的结果。
Input
第1行:2个数N和M,中间用空格分隔。N为矩阵的大小,M为M次方。(2 <= N <= 100, 1 <= M <= 10^9)
第2 - N + 1行:每行N个数,对应N * N矩阵中的1行。(0 <= N[i] <= 10^9)
Output
共N行,每行N个数,对应M次方Mod (10^9 + 7)的结果。
Input示例
2 3
1 1
1 1
Output示例
4 4
4 4
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int maxn=110;
const int MOD=1e9+7;
#define mod(x) ((x)%MOD)
int n;
struct mat
{int m[maxn][maxn];
}unit;
mat operator * (mat a,mat b)
{mat ret;ll x;for(int i=0;i<n;i++){for(int j=0;j<n;j++){x=0;for(int k=0;k<n;k++)x+=mod((ll)a.m[i][k]*b.m[k][j]);ret.m[i][j]=mod(x);}}return ret;
}
void init_unit()
{for(int i=0;i<maxn;i++)unit.m[i][i]=1;return;
}
mat pow_mat(mat a,ll n)
{mat ret=unit;while(n){if(n&1) ret=ret*a;a=a*a;n>>=1;}return ret;
}
int main()
{ll x;init_unit();while(cin>>n>>x){mat a;for(int i=0;i<n;i++)for(int j=0;j<n;j++)cin>>a.m[i][j];a=pow_mat(a,x);for(int i=0;i<n;i++){for(int j=0;j<n;j++){if(j+1==n) cout<<a.m[i][j]<<endl;else cout<<a.m[i][j]<<" ";}}}return 0;
}

51nod 1113 矩阵快速幂 模板相关推荐

  1. 51nod 1113 矩阵快速幂 模板题

    1113 矩阵快速幂 基准时间限制:3 秒 空间限制:131072 KB 分值: 40 难度:4级算法题 收藏 关注 给出一个N * N的矩阵,其中的元素均为正整数.求这个矩阵的M次方.由于M次方的计 ...

  2. 51nod 1113 矩阵快速幂

    1113 矩阵快速幂 基准时间限制:3 秒 空间限制:131072 KB 分值: 40  难度:4级算法题 给出一个N * N的矩阵,其中的元素均为正整数.求这个矩阵的M次方.由于M次方的计算结果太大 ...

  3. 51nod 1113 矩阵快速幂【裸题】【内含黑科技】

    1113 矩阵快速幂 基准时间限制:3 秒 空间限制:131072 KB 分值: 40  难度:4级算法题 给出一个N * N的矩阵,其中的元素均为正整数.求这个矩阵的M次方.由于M次方的计算结果太大 ...

  4. 51nod 1113 矩阵快速幂 (矩阵的n次方)

    给出一个N * N的矩阵,其中的元素均为正整数.求这个矩阵的M次方.由于M次方的计算结果太大,只需要输出每个元素Mod (10^9 + 7)的结果. Input 第1行:2个数N和M,中间用空格分隔. ...

  5. POJ3070 矩阵快速幂模板

    题目:http://poj.org/problem?id=3070 矩阵快速幂模板.mod写到乘法的定义部分就行了. 别忘了 I ( ) 和 i n i t ( ) 要传引用! #include< ...

  6. 快速幂+矩阵快速幂模板

    快速..运算 快速幂 运用位运算 代码 分析 矩阵快速幂 题目 分析 代码 拓一..: 快速幂 运用位运算 强大的位运算把我搞得蒙蒙的 理解了之后我表示很喜欢!!! 代码 int power(int ...

  7. How many ways?? - hdu2157(矩阵快速幂-模板)

    分析:求Map^k,刚开始没有用快速幂,TLE了   代码如下: =================================================================== ...

  8. 51nodoj 1113 矩阵快速幂

    题目连接 基准时间限制:3 秒 空间限制:131072 KB 分值: 40 难度:4级算法题 收藏 关注 给出一个N * N的矩阵,其中的元素均为正整数.求这个矩阵的M次方.由于M次方的计算结果太大, ...

  9. (转)矩阵快速幂模板

    大佬博客:https://blog.csdn.net/baidu_23081367/article/details/52347256 代码: const int mat_size = 5;//矩阵大小 ...

最新文章

  1. 【GIT】Github上传本地代码详解
  2. 成为Java GC专家(5)—Java性能调优原则
  3. Qt 模型视图框架解读之模型
  4. SocketIO-nio
  5. C语言高级编程:extern用法
  6. (转)用 Fiddler 看看 UpdatePanel 发生了什么
  7. AngularJs学习的前景及优势
  8. 在win7 64位上安装VS2015的问题汇总
  9. HSqlDB认识及使用
  10. Nginx作为静态资源服务器
  11. golang ——An existing connection was forcibly closed by the remote host.
  12. 北斗短报文通信原理及功能介绍
  13. 计算机是好是坏英语作文,电脑游戏是好还是坏英语作文
  14. 关联规则分析(频繁项集查找方法为apriori方法的Fk-1*Fk-1)
  15. 设置时区serverTimezone
  16. 纯CSS实现对话气泡(MD.5)
  17. 定时轮播Echarts造成内存泄漏致使浏览器崩溃问题
  18. 在Keil4中新建51单片机工程模板详细步骤
  19. 小程序实现图片的浏览,缩放大小
  20. pdf怎么压缩,好用的pdf压缩工具介绍

热门文章

  1. php网页爬虫-简单的类
  2. 新学编程之掌握基本概念
  3. AWS亚马逊Redshift的特点功能介绍
  4. Mongodb访问控制
  5. IG中最多案赞数居然是一棵蛋?!网友共同合作打破美国女星记录
  6. 支持GIF动画的ImageView
  7. 手机照片免费转JPG格式怎么做?教你两个法子快速转换
  8. vue移动端项目经验
  9. java开发面试评语
  10. 解决ERROR 1109 (42S02): Unknown table 'xxx' in MULTI DELETE