Tr A
来源:互联网 发布:淘宝企业店铺注销 编辑:程序博客网 时间:2024/05/16 00:31
Tr A
Time Limit : 1000/1000ms (Java/Other) Memory Limit : 32768/32768K (Java/Other)
Total Submission(s) : 58 Accepted Submission(s) : 36
Problem Description
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的内容。
每组数据的第一行有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
Author
xhd
Source
HDU 2007-1 Programming Contest
#include<stdio.h>#include<stdlib.h>#include<string.h>int res[12][12];int mul(int a[][12], int b[][12],int n, int mod, int c[][12]){int temp[12][12] = { 0 };int i, j,h;for (i = 0; i < n; i++)for (j = 0; j < n; j++)for (h = 0; h < n; h++)temp[i][j] = (temp[i][j] + a[i][h] * b[h][j])%mod;memcpy(c, temp, sizeof(temp));return 0;}int cal(int a[][12], int n, int k, int mod){while (k > 0){if (k & 1)mul(res, a,n, mod, res);mul(a, a,n, mod, a);k >>= 1;}return 0;}int main(){int T, k,n,mod=9973,ans;int a[12][12];int i, j;scanf("%d", &T);while (T--){scanf("%d%d", &n, &k);for (i = 0; i < n; i++)for (j = 0; j < n; j++)scanf("%d", &a[i][j]);for (i = 0; i < n; i++)for (j = 0; j < n; j++)res[i][j] = (i == j);cal(a, n, k, mod);ans = 0;for (i = 0; i < n; i++)ans += res[i][i];printf("%d\n", ans%mod);}return 0;}
0 0
- Tr A
- Tr A
- Tr A
- Tr A
- Tr A
- Tr A
- Tr A
- Tr A
- Tr A hdu 1575
- HDOJ 1575 - Tr A
- hdu 1575 Tr A
- hdu1575 Tr A
- Tr A(矩阵)
- 题目59:Tr A
- HDU 1575 Tr A
- Tr A hdu1575
- HDU 1575 Tr A
- hdu 1575 Tr A
- Github之更新fork过来的项目学习笔记
- 的很少见啊恒大金卡斯的绝杀空间
- wireshark使用方法及其RTP H.264视频数据格式解析
- 解决“Maven项目中的Dynamic Web Module 3.0 requires Java 1.6 or newer”问题
- 程序员的自我修养(1)——操作系统篇
- Tr A
- C++中确定基类有虚析构函数
- (转)以一个例子展示SQL语句的用法(比较全)
- 夏令营)用t语测力得知茨
- hdu4089 Activation 概率dp 2011北京区域赛
- NYOJ111 分数加减法
- 关于rsync同步导致目录层数问题
- DNS劫持和DNS污染的区别
- [剑指offer]Q11:数值的整数次方