FZU1683 矩阵
//Accepted 220 KB 359 ms #include <cstdio> #include <cstring> ; int pp; struct matrix { //矩阵m*n //(0,0)..(m-1,n-1) int a[maxn][maxn]; int m,n; matrix() { memset(a,,sizeof(a)); m=n=; } matrix operator+(matrix mymatrix) { matrix m_matrix; int i,j; ;i<m;i++) ;j<n;j++) m_matrix.a[i][j]=(a[i][j]+mymatrix.a[i][j])%pp; m_matrix.m=m; m_matrix.n=n; return m_matrix; } matrix operator*(matrix mymatrix) { matrix m_matrix; int i,j,k; ;i<m;i++) { ;j<n;j++) { if (a[i][j]) ;k<mymatrix.n;k++) m_matrix.a[i][k]=(m_matrix.a[i][k]+a[i][j]*mymatrix.a[j][k])%pp; } } m_matrix.m=m; m_matrix.n=mymatrix.n; return m_matrix; } //A^k matrix getp(int k) { matrix d,c; ) return *this; ) return (*this)*(*this); d=getp(k/); ==) return d*d; else return d*d*(*this); } //A+A^2+A^3+..+A^k matrix sump(int k) { matrix d,c; ) return *this; ) return (*this)+(*this)*(*this); d=sump(k/); ==) { ); } else )+getp(k); } void output() { int i,j; ;i<m;i++) { ;j<n;j++) printf("%d ",a[i][j]%pp); printf("\n"); } } void input() { ;i<m;i++) { ;j<n;j++) { scanf("%d",&a[i][j]); } } } }; int n; int k; matrix tr,mtr; int main() { pp=; int T; scanf("%d",&T); ;t<=T;t++) { scanf("%d",&n); printf("Case %d: ",t); ) { ) printf("1\n"); ) printf("4\n"); ) printf("9\n"); continue ; } tr.m=tr.n=; tr.a[][]=; tr.a[][]=tr.a[][]=tr.a[][]=; tr.a[][]=; tr.a[][]=; tr.a[][]=; tr.a[][]=; tr.a[][]=; tr.a[][]=; tr.a[][]=; tr.a[][]=; tr.a[][]=; tr.a[][]=; tr.a[][]=; tr.a[][]=; tr=tr.getp(n-); mtr.m=; mtr.n=; mtr.a[][]=; mtr.a[][]=; mtr.a[][]=; mtr.a[][]=; tr=mtr*tr; printf(][]); } ; }
FZU1683 矩阵的更多相关文章
- C语言 · 矩阵乘法 · 算法训练
问题描述 输入两个矩阵,分别是m*s,s*n大小.输出两个矩阵相乘的结果. 输入格式 第一行,空格隔开的三个正整数m,s,n(均不超过200). 接下来m行,每行s个空格隔开的整数,表示矩阵A(i,j ...
- 获取Canvas当前坐标系矩阵
前言 在我的另一篇博文 Canvas坐标系转换 中,我们知道了所有的平移缩放旋转操作都会影响到画布坐标系.那在我们对画布进行了一系列操作之后,怎么再知道当前矩阵数据状态呢. 具体代码 首先请看下面的一 ...
- CSharpGL(32)矩阵与四元数与角度旋转轴的相互转换
CSharpGL(32)矩阵与四元数与角度旋转轴的相互转换 三维世界里的旋转(rotate),可以用一个3x3的矩阵描述:可以用(旋转角度float+旋转轴vec3)描述.数学家欧拉证明了这两种形式可 ...
- “为什么DirectX里表示三维坐标要建一个4*4的矩阵?”
0x00 前言 首先要说明的是,本文的标题事实上来自于知乎上的一个同名问题:为什么directX里表示三维坐标要建一个4*4的矩阵? - 编程 .因此,正如Milo Yip大神所说的这个标题事实上是存 ...
- js实现蛇形矩阵
参加腾讯前端实习生笔试,真的是被虐了千百遍,除了一条js程序题,其他半点前端都没有,都是考算法,计算机原理,数据结构.下面贴上腾讯笔试最后三大条中的一条,实现一个蛇形矩阵的输出.蛇形矩阵的什么样这里我 ...
- ACM 中 矩阵数据的预处理 && 求子矩阵元素和问题
我们考虑一个$N\times M$的矩阵数据,若要对矩阵中的部分数据进行读取,比如求某个$a\times b$的子矩阵的元素和,通常我们可以想到$O(ab)$的遍历那个子矩阵,对它的各 ...
- PAT 1050. 螺旋矩阵(25)
本题要求将给定的N个正整数按非递增的顺序,填入"螺旋矩阵".所谓"螺旋矩阵",是指从左上角第1个格子开始,按顺时针螺旋方向填充.要求矩阵的规模为m行n列,满足条 ...
- [LeetCode] Kth Smallest Element in a Sorted Matrix 有序矩阵中第K小的元素
Given a n x n matrix where each of the rows and columns are sorted in ascending order, find the kth ...
- [LeetCode] Longest Increasing Path in a Matrix 矩阵中的最长递增路径
Given an integer matrix, find the length of the longest increasing path. From each cell, you can eit ...
随机推荐
- WebDriver 页面等待
selenium2.4.0版本提供了页面等待处理. 显示等待元素可见: protected void WaitElementVisible(By by,int timeOutInSeconds, lo ...
- Unity视频播放的各种实现方式汇总
http://www.taidous.com/bbs/article-860-1.html Unity视频播放有很多种实现方式,可根据要求来选择适当的实现,这里总结一下: 1. MovieTextu ...
- 最火的Android开源项目整理
一.代码库 1.from 代码家 整理比较好的源码连接 ******************************************************************* ...
- [bootstrap] 栅格系统和布局
1.简介 栅格系统(grid systems),也称为“网格系统”,运用固定的格子设计版面布局,风格工整简洁.是从平面栅格系统演变而来. Bootstrap建立在12列栅格系统.布局.组件之上.以规则 ...
- Qt之线程基础
何为线程 线程与并行处理任务息息相关,就像进程一样.那么,线程与进程有什么区别呢?当你在电子表格上进行数据计算的时候,在相同的桌面上可能有一个播放器正在播放你最喜欢的歌曲.这是一个两个进程并行工作的例 ...
- cf------(round 2)A. Winner
A. Winner time limit per test 1 second memory limit per test 64 megabytes input standard input outpu ...
- 解析 MACH_O 文件
现在做iOS开发的挺多,了解一下在苹果平台上程序运行的原理 解析 MACH_O 文件 这篇文章描述了如何解析 Mach-O 文件并稍微解释了一下它的格式.这不是一份权威指南,不过当你不知从何开始时,它 ...
- 51nod 1065 最小正子段和
题目链接:51nod 1065 最小正子段和 房教说用前缀和做,然后看了别人博客懂了后就感觉,这个真有意思... #include<cstdio> #include<cstring& ...
- struts2视频学习笔记 13-14(自定义局部和全局类型转换器(转换Date格式))
课时13 自定义类型转换器 局部(对某个action类) package tutorial; import java.util.Date; public class HelloWorld { priv ...
- jQuery给同一个元素两个点击事件
$(".course-form .course-start img").each(function(i) { $(this).toggle(function(){ $(this). ...