HDU1575 Tr A
来源:互联网 发布:淘宝卖家体验用心在哪 编辑:程序博客网 时间:2024/05/22 17:23
HDU1575:裸的矩阵快速幂(二进制迭代法),用结构体能省不少事,想的话也可以重载个乘法
#include<cstdio>#include<iostream>#define N 11using namespace std;const int mod=9973;int n;struct matrix{ int i,j; int a[N][N]; void init() { for(i=0;i<N;i++) for(j=0;j<N;j++) a[i][j]=(i==j)?1:0; }};matrix matrixmult(matrix a,matrix b)//矩阵相乘{ matrix c; int i,j,k; for(i=0;i<n;i++) for(j=0;j<n;j++) { c.a[i][j]=0; for(k=0;k<n;k++) c.a[i][j]+=((a.a[i][k]*b.a[k][j])%mod); c.a[i][j]%=mod; } return c;}matrix lm(matrix a,int k)//快速幂{ matrix ans; ans.init(); while(k>0) { if(k&1) ans=matrixmult(a,ans); k>>=1; a=matrixmult(a,a); } return ans;}int main(){ int t,k,i,j; matrix s; while(~scanf("%d",&t)) { while(t--) { int sum=0; cin>>n>>k; for(i=0;i<n;i++) for(j=0;j<n;j++) scanf("%d",&s.a[i][j]); s=lm(s,k); for(i=0;i<n;i++) sum+=s.a[i][i]; sum%=mod; cout<<sum<<endl; } } return 0;}
0 0
- hdu1575 Tr A
- Tr A hdu1575
- hdu1575 Tr A
- hdu1575 Tr A
- hdu1575---Tr A
- hdu1575 Tr A
- HDU1575 Tr A
- HDU1575 Tr A
- hdu1575 - Tr A
- HDU1575 Tr A 矩阵应用
- hdu1575 Tr A (矩阵快速幂)
- Hdu1575 - Tr A - 矩阵快速幂
- HDU1575-Tr A(矩阵快速幂)
- hdu1575 Tr A(矩阵快速幂)
- HDU1575 Tr A 【矩阵快速幂】
- HDU1575 Tr A(矩阵快速幂)
- hdu1575 Tr A 矩阵快速幂
- hdu1575 Tr A(矩阵快速幂)
- c++中指针和引用的区别
- Qt项目转VS项目
- WebService
- HDU组合游戏与博弈论入门小结(未完
- 矩阵快速幂
- HDU1575 Tr A
- HDU 2604 Queuing
- 有趣的盒子
- SSD: Single Shot MultiBox Detector
- Java Web项目实战,Jsp项目实战
- 第1-6讲 C语言输入输出整型、浮点型数据练习
- MyEclipse解决中文乱码问题,统一为UTF-8,及其他设置
- Android高级UI PullToRefresh下拉刷新
- Activity如何使用Handler与Service通信