Tr A

Tr A

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

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


Author

xhd


Source

HDU 2007-1 Programming Contest


Recommend

linle

/*
题意:略

初步思路:一个裸的矩阵快速幂

#错误:刚开始想的主对角线是两条对角线,所以错了,主对角线,只是m[i][i]那一条

#再次错误:模板没有调整好
*/
#include<bits/stdc++.h>
#define mod 9973
using namespace std;
int t,n,k;
/***********************矩阵快速幂模板****************************/
struct Matrix{
    int m[15][15];
};

Matrix unit;

Matrix Mul(Matrix a,Matrix b){
    Matrix c;
    for(int i=0;i<n;i++)
        for(int j=0;j<n;j++){
            c.m[i][j]=0;
            for(int k=0;k<n;k++)
                c.m[i][j]+=(a.m[i][k]*b.m[k][j])%mod;
            c.m[i][j]%=mod;
        }
    return c;
}
Matrix Pow(Matrix a,int p)
{
    Matrix res;
    memset(res.m,0,sizeof(res.m));
    for(int i=0;i<10;i++){
        res.m[i][i]=1;
    }
    while(p)
    {
        if(p&1)
            res = Mul(res,a);
        p>>=1;
        a = Mul(a,a);
    }
    return res;
}

/***********************矩阵快速幂模板****************************/
int main(){
    // freopen("in.txt","r",stdin);
    scanf("%d",&t);
    while(t--){
        scanf("%d%d",&n,&k);
        for(int i=0;i<n;i++){
            for(int j=0;j<n;j++){
                scanf("%d",&unit.m[i][j]);
            }
        }
        Matrix init=Pow(unit,k);
        int cur=0;
        for(int i=0;i<n;i++){
            cur+=init.m[i][i];
            cur%=mod;
        }
        printf("%d\n",cur);
    }
    return 0;
}
时间: 2024-10-12 19:14:52

Tr A的相关文章

点击modal确定键后删除tr

做第一个笔记,关于 “书单”.2016-09-03关于一个表格调用modal后,在点击表格中的删除按钮弹出modal,点击确定删除后,将一整行tr 删除的功能. 以下内容为table,表示为某班学生. 1 <table class="table table-bordered Stu-tab " id="Stu-tab"> 2 <tr > <td colspan="7" align="left"&g

SHELL STUDY....tr的用法

一般我们使用tr来做字符串的替换,或者删除指定的字符串 tr的语法如下: tr [OPTION]... SET1 [SET2] -c, -C, --complement first complement SET1 将非SET1中的字符替换为SET2 [[email protected] ~]$ echo "lubinsu" | tr -c "l" "A" lAAAAAAA -d, --delete delete characters in SET

tr th td

<table>     <caption></caption>     <thead>         <tr>             <th></th>         </tr>     </thead>     <tbody>         <tr>             <td></td>         </tr>     

tr 简单使用

tr 替换 1.用来计算求和 [[email protected] 桌面]# seq 1 100 |echo "$[`tr "\n" "+"` 0]"50504pc09 桌面]# seq 1 2 100 |echo "$[`tr "\n" "+"` 0]"2500[[email protected] 桌面]# seq 0 2 100 |echo "$[`tr "\n&

table 如何给tr border颜色

border-collapse属性值 说明 separate 默认值,边框分开,不合并 collapse 边框合并,如果相邻,则共用一个边框 table,th,td{border:1px solid gray} table{border-collapse:collapse;} 只有collapse才能设置border颜色 如下css为 .linktable{border-collapse: collapse;}.linktable tr{border-bottom: 1px solid #eee

点击tr实现选择checkbox功能,点击checkobx的时候阻止冒泡事件, jquery给checkbox添加checked属性或去掉checked属性不能使checkobx改变状态

给tr添加点击事件,使用find方法查找tr下的所有层级的元素,children只查找下一层级的元素,所以使用find.find的返回值为jquery对象,在这个项目中不知道为什么使用jquery给checkbox添加checked属性或去掉checked属性不能使checkobx改变状态,所以我就把jquery对象转换为DOM对象,怎么转呢?jquery对象[0]或者get(0)就转换成DOM对象,然后直接.checked返回true或false就可以判断checkbox是否选中了.然后判断状

tr用法

tr用来从标准输入中通过替换或删除操作进行字符转换.tr主要用于删除文件中控制字符或进行字符转换.使用tr时要转换两个字符串:字符串1用于查询,字符串2用于处理各种转换.tr刚执行时,字符串1中的字符被映射到字符串2中的字符,然后转换操作开始-c 用字符串1中字符集的补集替换此字符集,要求字符集为 ASCII.-d 删除字符串1中所有输入字符.-s删除所有重复出现字符序列,只保留第一个:即将重复出现字符串压缩为一个字符串\ a  Ctrl-G 铃声  \ 0 0 7\ b  Ctrl-H 退格符

tr命令的使用及相关练习题

tr命令相关选项: tr-转换或删除字符 常用选项: -c:取字符集的补集 -d:删除匹配的指定字符集中的字符 -s:把连续重复的字符以单独一个字符表示 -t:先删除第一字符集较第二字符集多出的字符 \\:反斜杠 \a:响铃 \b:退格 \n:换行 \r:回车 [:alnum:] :所有的字母和数字                                                 [:alpha:] :所有的字母                                   

几个常用文本处理小工具tr ,wc,cut,sort,uniq用法详解

几个文本处理的小工具:tr ,wc,cut,sort,uniq 1. tr命令可以对来自标准输入的字符进行替换.压缩和删除.它可以将一组字符变成另一组字符,经常用来编写优美的单行命令,作用很强大. 语法:tr 选项  SET1 SET2 -c或--complerment:取代所有不属于第一字符集的字符(就是补集): -d或--delete:删除所有属于第一字符集的字符: -s或--squeeze-repeats:把连续重复的字符以单独一个字符表示: -t或--truncate-set1:先删除第

linux 基础学习入门 5 inode 总结 tr tee 等小命令

linux day 5 一.inode是什么? 理解inode,要从文件储存说起. 文件储存在硬盘上,硬盘的最小存储单位叫做"扇区"(Sector).每个扇区储存512字节(相当于0.5KB). 操作系统读取硬盘的时候,不会一个个扇区地读取,这样效率太低,而是一次性连续读取多个扇区,即一次性读取一个"块"(block).这种由多个扇区组成的"块",是文件存取的最小单位."块"的大小,最常见的是4KB,即连续八个 sector组