BUPT 2012复试机考 2T
题目描述
给你一个n*n的矩阵,
,
求其矩阵的k次幂,即Pk
输入格式
第一行,一个整数T(0<T<=10),表示要求矩阵的个数。
接下来有T组数据,每组数据格式如下:
第一行:两个数据n(2<=n<=10)、k(1<=k<=5),两个数字之间用一个空格隔开,其中n表示状况空间的总数,k表示待求的转移概率矩阵的步数。接下来有n行n列个正整数,其中,第i行第j列表示pij,(0<=pij<=10)。另外,数据保证最后结果不会超过10^8。
输出格式
输出为T组数据。
每组数据为已知矩阵的k次幂,格式为:
n行n列个正整数,每行数之间用空格隔开,注意,每行最后一个数后面不应该有多余的空格。
输入样例
3
2 2
9 8
9 3
3 3
4 8 4
9 3 0
3 5 7
5 2
4 0 3 0 1
0 0 5 8 5
8 9 8 5 3
9 6 1 7 8
7 2 5 7 3
输出样例
153 96
108 81
1216 1248 708
1089 927 504
1161 1151 739
47 29 41 22 16
147 103 73 116 94
162 108 153 168 126
163 67 112 158 122
152 93 93 111 97
#include<iostream>
#include<cstdio>
using namespace std;
int main()
{
int t,n,k,a[][];
cin>>t;
while(t--)
{
cin>>n>>k;
int donser[][],temp[][];
for(int i=;i<=n;i++)
{
for(int j=;j<=n;j++)
{
cin>>a[i][j];
donser[i][j]=a[i][j];
}
}
k--;
while(k--){
for(int i=;i<=n;i++)
{
for(int j=;j<=n;j++)
{
int num=;
for(int h=;h<=n;h++)
{
num+=donser[i][h]*a[h][j];
}
temp[i][j]=num;
}
}
for(int i=;i<=n;i++)
for(int j=;j<=n;j++)
donser[i][j]=temp[i][j];
}
for(int i=;i<=n;i++){
for(int j=;j<=n;j++){
cout<<donser[i][j];
if(j!=n) cout<<" ";
}
cout<<endl;
}
}
return ;
}
BUPT 2012复试机考 2T的更多相关文章
- BUPT 2012复试机考 4T
题目描述 我们都学习过计算机网络,知道网络层IP协议数据包的头部格式如下: 其中IHL表示IP头的长度,单位是4字节:总长表示整个数据包的长度,单位是1字节.传输层的TCP协议数据段的头部格式如下: ...
- BUPT 2012复试机考 3T
97. 二叉排序树 时间限制 1000 ms 内存限制 65536 KB 题目描述 二叉排序树,也称为二叉查找树.可以是一颗空树,也可以是一颗具有如下特性的非空二叉树: 若左子树非空,则左子树上所有节 ...
- BUPT 2012复试机考 1T
题目描述 大家都知道,数据在计算机里中存储是以二进制的形式存储的. 有一天,小明学了C语言之后,他想知道一个类型为unsigned int 类型的数字,存储在计算机中的二进制串是什么样子的. 你能帮帮 ...
- 【Java】机考常用知识
基本操作 数组 声明数组 方法一: int a[] = null; //声明一维数组 //int[] a = null; 也行,个人习惯 a = new int[10];//分配内存给一维数组 方法二 ...
- 华科机考:a+b
时间限制:1秒空间限制:32768K 题目描述 计算a+b的和 每行包行两个整数a和b 对于每行输入对应输出一行a和b的和 输入 1 5 输出 6 吐槽:这尼玛是机考题? 代码: #include & ...
- 20150912华为机考2之"输入一段字符串(英文),将每个单词首字母大写后输出"
还有其他一些(隐性)要求(要不然无法通过测试): .如果首字母已经大写,则不用变 .不是英文字母的不变 e.g. Input: hello world! this is _Ljj speaking! ...
- 20150912华为机考1之"输入一个字符串,将其中出现次数最多的字符输出"
不吐槽华为的服务器了,直接上正文 输入:字符串(英文字母),长度不超过128 输出:出现频率最高的字母 思路写在注释文档 /* Input a string * Output the most fre ...
- 华科机考:a+b
时间限制:1秒 空间限制:32768K 题目描述 实现一个加法器,使其能够输出a+b的值. 输入描述: 输入包括两个数a和b,其中a和b的位数不超过1000位. 输出描述: 可能有多组测试数据 ...
- 华科机考:IP地址
时间限制:1秒 空间限制:32768K 题目描述 输入一个ip地址串,判断是否合法. 输入描述: 输入的第一行包括一个整数n(1<=n<=500),代表下面会出现的IP地址的个数. 接下 ...
随机推荐
- Python9-装饰器-day11
import time def timmer(f): #装饰器函数 def inner(): start = time.time() ret = f() #被装饰的函数 end = time.time ...
- struts2模版搭建
点击MyEclipse菜单栏File按钮,点击new-->Web Project 输入Project name之后点击Finish 项目创建完成. 然后右键项目,点击MyEclipse--> ...
- 【19】javascript有哪些方法定义对象
创建Object的方式有4种. 方式一: 通过对象字面量表示法(又称为直接量.原始方式). var obj = {name:"moyu"}; 方式二: 通过new和构造函数Obje ...
- 【01】markdown特殊说明
[01]说明 Markdown 的目标是实现「易读易写」. 可读性,无论如何,都是最重要的.一份使用 Markdown 格式撰写的文件应该可以直接以纯文本发布,并且看起来不会像是由许多标签或是格式指令 ...
- Service Broadcast简单音乐播放功能
在Activity上有两个ImageButton,分别控制播放/暂停.停止. @Override public void onCreate(Bundle savedInstanceState) ...
- ASP.NET中一般处理程序报的错误:由于代码已经过优化或者本机框架位于调用堆栈之上,无法计算表达式的值
1.把context.Response.End();代码换成 HttpContext.Current.ApplicationInstance.CompleteRequest(); 2.把context ...
- hdu 2177 威佐夫博弈变形
取(2堆)石子游戏 Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total S ...
- BZOJ 1974 [Sdoi2010]auction 代码拍卖会 ——动态规划
把每一位上不递减的数拆成1+11+11111+11111+..... 然后就可以把巨大的N从复杂度中消掉,因为随着长度的增加1...111%p出现了循环节. 然后就是从n个数中选出几个使他们结果为0( ...
- 【线段树区间最值单点更新模板】BNUOJ 52965 E Excellent Engineers
http://acm.bnu.edu.cn/v3/external/gym/101512.pdf #include<bits/stdc++.h> using namespace std; ...
- ftrace的使用
This article explains how to set up ftrace and be able to understand how to trace functions. It shou ...