Hdu1575 - Tr A - 矩阵快速幂
2014-07-27 14:45
316 查看
#include<stdio.h> int map; long long k; struct JZ { long long jz[15][15]; }; JZ mul(JZ a,JZ b) { JZ ans; int i,j,k; for(i=0;i<map;i++) { for(j=0;j<map;j++) { ans.jz[i][j]=0; for(k=0;k<map;k++) { ans.jz[i][j]+=a.jz[i][k]*b.jz[k][j]; } ans.jz[i][j]=ans.jz[i][j]%9973; } } return ans; } JZ pow(JZ c,long long d) { JZ ans; int i,j; for(i=0;i<map;i++) { for(j=0;j<map;j++) { if(j==i) { ans.jz[i][j]=1; } else { ans.jz[i][j]=0; } } } while(d) { if(d%2==1) { ans=mul(ans,c); } c=mul(c,c); d=d/2; } return ans; } int main() { int n,i,j; while(scanf("%d",&n)!=EOF) { while(n--) { scanf("%d%I64d",&map,&k); JZ m; for(i=0;i<map;i++) { for(j=0;j<map;j++) { scanf("%I64d",&m.jz[i][j]); } } m=pow(m,k); long long sum=0; for(i=0;i<map;i++) { sum+=m.jz[i][i]%9973; } printf("%I64d\n",sum%9973); } } }
相关文章推荐
- hdu1575 Tr A (矩阵快速幂)
- hdu1575 Tr A(矩阵快速幂模板题)
- hdu1575 Tr A(矩阵快速幂)
- hdu1575 Tr A(矩阵快速幂)
- HDU1575 Tr A 【矩阵快速幂】
- HDU1575 Tr A【矩阵快速幂】
- hdu1575 Tr A 矩阵快速幂
- HDU1575--Tr A(矩阵快速幂模板)
- Tr A--hdu1575(矩阵快速幂)
- HDU1575:Tr A(矩阵快速幂模板题)
- hdu1575 Tr A 矩阵快速幂
- HDU1575-Tr A(矩阵快速幂)
- (矩阵快速幂)hdu1575 Tr A
- hdu1575 Tr A(矩阵快速幂)题解
- HDU - 1575 Tr A 纯矩阵快速幂
- Hdu 1575 Tr A【矩阵快速幂】
- hdu1575(矩阵乘法快速幂)
- (hdu step 8.3.1)Tr A(矩阵快速幂——求矩阵m的n次幂的迹%k的结果)
- HDU 1575 Tr A(矩阵快速幂)
- hdu 1575 Tr A (矩阵快速幂入门题)