博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
HDU1575-Tr 【矩阵快速幂】(模板题)
阅读量:5246 次
发布时间:2019-06-14

本文共 1194 字,大约阅读时间需要 3 分钟。

<>

题目大意:

A为一个方阵,则Tr A表示A的迹(就是主对角线上各项的和),现要求Tr(A^k)%9973。 

Input

数据的第一行是一个T,表示有T组数据。 

每组数据的第一行有n(2 <= n <= 10)和k(2 <= k < 10^9)两个数据。接下来有n行,每行有n个数据,每个数据的范围是[0,9],表示方阵A的内容。 
Output

对应每组数据,输出Tr(A^k)%9973。

Sample Input

22 21 00 13 999999991 2 34 5 67 8 9

Sample Output

22686
#include 
#include
#include
#include
using namespace std;const int mod = 9973;struct Matrix{ int arr[20][20];}init,tmp;int n;Matrix Mul(Matrix a, Matrix b) //矩阵相乘{ Matrix temp; for(int i=0;i
>= 1; a = Mul(a, a); } return ans;}int main(){ int t; scanf("%d", &t); while (t--) { int k; scanf("%d%d", &n, &k); for (int i = 0; i < n; i++) for (int j = 0; j < n; j++) { scanf("%d", &init.arr[i][j]); tmp.arr[i][j] = init.arr[i][j]; } Matrix ans=Pow(init, tmp, k - 1); int res = 0; for (int i = 0; i < n; i++) { res = (res + ans.arr[i][i]) % mod; } printf("%d\n", res); } return 0;}
2018-08-08

转载于:https://www.cnblogs.com/00isok/p/9445999.html

你可能感兴趣的文章
C++中explicit的用法
查看>>
java 企业站源码 兼容手机平板PC 响应式 主流SSM框架 freemaker 静态引擎
查看>>
JS博客
查看>>
Docx转Doc操作(c#)
查看>>
一条简单的 SQL 执行超过 1000ms,纳尼?
查看>>
如何设置映射网络驱动器的具体步骤和方法
查看>>
ASP.NET WebApi 基于OAuth2.0实现Token签名认证
查看>>
283. Move Zeroes把零放在最后面
查看>>
Visual Studio Code 打开.py代码报Linter pylint is not installed解决办法
查看>>
Python 数据类型
查看>>
Google Guava学习笔记——简介
查看>>
历时八年,HTML5 标准终于完工了
查看>>
17.树的子结构
查看>>
D - Mike and strings
查看>>
C++:多维数组的动态分配(new)和释放(delete)
查看>>
c#基础学习(0806)之抽象类实现多态
查看>>
S5PV210根文件系统的制作(一)
查看>>
51NOD 1244 莫比乌斯函数之和
查看>>
[bzoj1923]外星千足虫[高斯消元]
查看>>
centos下同时启动多个tomcat
查看>>