Tr A

Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 6490    Accepted Submission(s): 4817

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的内容。
 
Output
对应每组数据,输出Tr(A^k)%9973。
 
Sample Input
2
2 2
1 0
0 1
3 99999999
1 2 3
4 5 6
7 8 9
 
Sample Output
2
2686
题目分析:这不同于上一篇博客那道题目,这个是要求一个矩阵本身的若干次幂,而上一篇是两个矩阵相乘,
      这道题需要引入一个单位矩阵【它的作用和实数里面的1一样,是一个在i==j也就是对角线上为1,其余位置为0的矩阵】
 #include<iostream>
#include<cstdio>
#include<algorithm>
#include<cstring>
using namespace std;
long long n,k;
void mul(long long wqw[][],long long tat[][])
{
long long or2[][];
memset(or2,,sizeof(or2));
for(int i = ; i < n ; i++)
{
for(int j = ; j < n ; j++)
{
for(int kk = ; kk < n ;kk++)
{
or2[i][j]+=(wqw[i][kk]*(tat[kk][j]))%;
or2[i][j]%=;
}
}
}
memcpy(wqw,or2,sizeof(or2));
}
void mulself(long long awa[][])
{
long long or3[][];
memset(or3,,sizeof(or3));
for(int i = ; i < n ; i++)
{
for(int j = ; j< n ; j++)
{
for(int kk = ; kk < n ; kk++)
{
or3[i][j]+=((awa[i][kk])%)*((awa[kk][j])%)%;
or3[i][j]%=;
}
}
}
memcpy(awa,or3,sizeof(or3));
}
int main()
{
int T;
scanf("%d",&T);
while(T--)
{
long long qwq[][],qaq[][];
scanf("%lld%lld",&n,&k);
memset(qwq,,sizeof(qwq));
for(int i = ; i < n ; i++)
{
for(int j = ; j < n ; j++)
{
scanf("%lld",&qaq[i][j]);
if(i==j)
qwq[i][j]=;//1单位矩阵
}
} while(k)
{
if(k&)
mul(qwq,qaq);
mulself(qaq);
k/=;
}
long long sum=;
for(int i = ; i < n ; i++)
{
sum+=(qwq[i][i]%);
sum%=;
}
cout << sum % << endl;
}
return ;
}

【单位矩阵】【杭电OJ1575】的更多相关文章

  1. acm入门 杭电1001题 有关溢出的考虑

    最近在尝试做acm试题,刚刚是1001题就把我困住了,这是题目: Problem Description In this problem, your task is to calculate SUM( ...

  2. 杭电acm 1002 大数模板(一)

    从杭电第一题开始A,发现做到1002就不会了,经过几天时间终于A出来了,顺便整理了一下关于大数的东西 其实这是刘汝佳老师在<算法竞赛 经典入门 第二版> 中所讲的模板,代码原封不动写上的, ...

  3. 杭电OJ——1198 Farm Irrigation (并查集)

    畅通工程 Problem Description 某省调查城镇交通状况,得到现有城镇道路统计表,表中列出了每条道路直接连通的城镇.省政府"畅通工程"的目标是使全省任何两个城镇间都可 ...

  4. 杭电ACM分类

    杭电ACM分类: 1001 整数求和 水题1002 C语言实验题——两个数比较 水题1003 1.2.3.4.5... 简单题1004 渊子赛马 排序+贪心的方法归并1005 Hero In Maze ...

  5. 高手看了,感觉惨不忍睹——关于“【ACM】杭电ACM题一直WA求高手看看代码”

    按 被中科大软件学院二年级研究生 HCOONa 骂为“误人子弟”之后(见:<中科大的那位,敢更不要脸点么?> ),继续“误人子弟”. 问题: 题目:(感谢 王爱学志 网友对题目给出的翻译) ...

  6. C#利用POST实现杭电oj的AC自动机器人,AC率高达50%~~

    暑假集训虽然很快乐,偶尔也会比较枯燥,,这个时候就需要自娱自乐... 然后看hdu的排行榜发现,除了一些是虚拟测评机的账号以外,有几个都是AC自动机器人 然后发现有一位作者是用网页填表然后按钮模拟,, ...

  7. 杭电ACM2076--夹角有多大(题目已修改,注意读题)

    杭电ACM2076--夹角有多大(题目已修改,注意读题) http://acm.hdu.edu.cn/showproblem.php?pid=2076 思路很简单.直接贴代码.过程分析有点耗时间. / ...

  8. 杭电ACM2092--整数解

    杭电ACM2092--整数解    分析 http://acm.hdu.edu.cn/showproblem.php?pid=2092 一个YES,一个Yes.试了10几次..我也是无语了..哪里都不 ...

  9. 杭电2034——人见人爱A-B

    #include <stdio.h> #include <algorithm> using namespace std; int main () { int a[110],b[ ...

随机推荐

  1. 逆袭之旅.DAY07东软实训..封装~继承~抽象~final

    2018年7月3日.逆袭之旅DAY07 package day0703.exam1; /** * 狗狗类 使用权限修饰符private和public进行封装 * @author Administrat ...

  2. [Codeforces513E2]Subarray Cuts

    Problem 给定一个长度为n的数字串,从中选取k个不重叠的子串(可以少选),将每个串求和si 求max|s1 - s2| + |s2 - s3| + ... + |sk - 1 - sk|(n & ...

  3. 跑caffe过程中的备忘

    1*1卷积比如一张500*500且厚度depth为100的图片在20个filter上做1*1卷积,那么结果大小为500*500*20 只有池化改变图片的大小 一个大的全连接层可以理解为一个神经网络,这 ...

  4. :单件模式:Singleton

    #ifndef __SINGLETON_H__ #define __SINGLETON_H__ class Singleton { private: static Singleton* instanc ...

  5. Dll重定向(尚存否?)

    windows核心编程(第五版)的20.6节介绍了Dll重定向. 0x01  Dll重定向简介 产生Dll重定向原因: 应用程序 a.exe 依赖动态链接库 compoent.dll 1.0 版本.但 ...

  6. python基础练习。

    1,简单输入输出交互 输入姓名 name=input('请输入姓名:') 输入学号 number=input('请输入您的学号:') 输出姓名和学号 print('请确认您的姓名和学号:'name,n ...

  7. mybatis column 和property

    mybatis map文件中 resultMap中column和sql查询结果对应, property和实体private对应 <resultMap id="VideoYcAppRes ...

  8. wpf 使用Font-Awesome图标字体

    wpf 使用Font-Awesome图标字体 1.http://fontawesome.io/ 中下载Font-Awesome字体 然后把字体文件fontawesome-webfont.ttf 拷贝到 ...

  9. mybatis 异常 There is no getter for property named 'bizId' in 'class java.lang.Long'

    mybatis 异常 There is no getter for property named 'bizId' in 'class java.lang.Long' 当使用mybatis进行传参的时候 ...

  10. L260

    Innovative UK technology that can deliver drugs deep into the brain to treat neurological diseases, ...