AOJ-AHU-OJ-670 Tyrion的矩阵
Jamie有一个整数序列B = {B1, B2,..., Bm}, 0<=bi<=10^9;
Tyrion根据Ceise提供的序列A和Jamie提供的数列B, 得到了一个n*m的矩阵C, 其中C(i, j) = ai xor bj;
现给你Tyrion的矩阵C, 请你看看Tyrion的矩阵可不可能出错(即存在C(i, j) != ai xor bj).
关于xor运算详细见hint
第1行:测试数据组数t;
接下来依次是这t组数据,对于每一组数据:
第1行:n m; n, m含义如上, 有1<=m,n<=1024;
接下来的n行每行m个数, 描述了Tyrion的矩阵C;
第n+2行: 空行.
对于每组数据, 如果你能确定Tyrion的矩阵出错了, 请输出一行"I bet Tyrion made a mistake."(不用输出双引号). 否则输出为两行, 一行输出序列A, 一行为序列B, 同一序列的元素之间用一个空格隔开; 如果可能的A, B序列有多个, 请输出其中序列A的字典序最小的一个.
Original | Transformed |
2 2 2 0 0 0 12 2 0 1 0 1
Original | Transformed |
I bet Tyrion made a mistake. 0 0 0 1
0 xor 0 = 0; 0 xor 1 = 1; 1 xor 0 = 1; 1 xor 1 = 0;
0101(十进制下值为5) xor 0011(十进制下值为3) = 0110(十进制下值为6)。
a ^ b = c; a ^ c = b; b ^ c = a;
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <math.h>
int c[1024][1024], a[1024], b[1024];
int main() {int cas;scanf("%d", &cas);while(cas--) {int n, m, flag = 1;scanf("%d%d", &n, &m);for(int i = 0; i < n; i++)for(int j = 0; j < m; j++)scanf("%d", c[i]+j);a[0] = 0;//没关系,就用0代表所有情况,结果一样for(int j = 0; j < m; j++)b[j] = a[0] ^ c[0][j];//得到b[]for(int i = 1; i < n; i++)a[i] = c[i][0] ^ b[0];//得到a[]for(int i = 1; i < n; i++) {for(int j = 1; j < m; j++)if((a[i]^b[j]) != c[i][j]) {flag = 0;break;}if(!flag) break;//枚举矩阵,一旦不符合情况,做标记}if(flag) {int i, j;for(i = 0; i < n-1; i++)printf("%d ", a[i]);printf("%d\n", a[i]);for(j = 0; j < m-1; j++)printf("%d ", b[j]);printf("%d\n", b[j]);}else puts("I bet Tyrion made a mistake.");}return 0;
}
AOJ-AHU-OJ-670 Tyrion的矩阵相关推荐
- 北大OJ百练——4075:矩阵旋转(C语言)
百练的这道题很简单,通过率也达到了86%,所以我也就来贴个代码了...下面是题目: 不过还是说一下我的思路: 这道题对一个新来说,可能是会和矩阵的转置相混淆,这题并不是要我们去求矩阵的转置. 这题,我 ...
- 西南民大oj(矩阵快速幂)
我的名字不可能那么难记 时间限制(普通/Java) : 1000 MS/ 3000 MS 运行内存限制 : 65536 KByte 总提交 : 16 测试通过 ...
- 九度OJ 1193:矩阵转置 (矩阵计算)
时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:1673 解决:1132 题目描述: 输入一个N*N的矩阵,将其转置后输出.要求:不得使用任何数组(就地逆置). 输入: 输入的第一行包括一个 ...
- XTU—OJ 1258矩阵
矩阵 题目描述 编写一个程序,将1~n2按行依次填入n×n的矩阵,执行若干条行或者列的循环移动的指令,再将数字按行依次取出. 指令如下: 指令 含义 L x y x行循环左移y次 R x y x行循环 ...
- CCPC-Wannafly Comet OJ 夏季欢乐赛(2019)E.飞行棋(期望dp+矩阵快速幂)
题目 飞行棋的规则如下: 1.每名玩家有一个棋子,每个回合可以掷一次骰子. 2.如果使用的骰子为 k面,则这 k面上的点数分别为 1,2,3,-,k,且掷得每种点数的概率均为. 3.如果当前回合掷得 ...
- zzuli OJ 1127: 矩阵乘积
Description 计算两个矩阵A和B的乘积. Input 第一行三个正整数m.p和n,0<=m,n,p<=10,表示矩阵A是m行p列,矩阵B是p行n列: 接下来的m行是矩阵A的内容, ...
- 4128----喵帕斯之矩阵 sdut oj
喵帕斯之矩阵 莲酱得到了一个矩阵,不过这个矩阵特别丑,莲酱一脸嫌弃.为了让莲酱不再嫌弃这个矩阵,请你把这个矩阵变的更漂亮些. 比如这里有一个比较丑的矩阵 我们通过把对角线的元素进行升序排序,这个矩阵就 ...
- C语言实验——求一个3*3矩阵对角线元素之和 (sdut oj)
C语言实验--求一个3*3矩阵对角线元素之和 Time Limit: 1000MS Memory Limit: 65536KB Problem Description 给定一个3*3的矩阵,请你求出 ...
- C语言实验——矩阵下三角元素之和 (sdut oj)
C语言实验--矩阵下三角元素之和 Time Limit: 1000MS Memory Limit: 65536KB Problem Description 输入一个正整数n(1<=n<= ...
- 矩阵快速幂 | 北邮OJ | 96. 矩阵幂
https://vpn.bupt.edu.cn/http/10.105.242.80/problem/p/96/ reference: https://www.cnblogs.com/cmmdc/p/ ...
最新文章
- 到底什么是hash?它起什么作用?
- 创建git项目的feature分支以及下载特定分支的仓库代码
- 算法-----数组-----移除特定元素
- win7 64 安装scikit-learn
- python3.7安装教程mac_mac中怎么安装python3
- centos 修改语言、时区
- 计算机辅助相关论文,关于计算机辅助教学的论文
- 关于android各种双卡手机获取imei,imsi的处置(mtk,展讯,高通等)
- mysql集群方案,保准看明白!
- unity中使用protobuf-net
- ReactiveCocoa 用法实例
- Elasticsearch 7.x Nested 嵌套类型查询 | ES 干货
- 最大团问题和最大独立子集
- Java权限管理系统源代码下载
- c++质数判定及输出质数表
- 【整理】SISD、MIMD、SIMD、MISD计算机的体系结构的Flynn分类法
- 学校计算机教室 计划总结怎么写,学校信息技术教师的工作总结范文
- 字节跳动全员降薪17%,员工都「炸锅了」
- ip地址的作用及分类
- android 分享纯图片到QQ空间实现方式
热门文章
- python中自定义标识符_python标识符
- dell服务器双系统切换,戴尔笔记本双系统在不关机的状况下怎么转换另外一个系统?...
- windows下GMT绘制矢量图
- AiHi+翼次元学院儿童自然感知实践“几米小甜田”+中韧开智“优慧码”| Wit++
- WinEdt 9 如何与pdf打开软件(Acrobat)关联
- Python利用 Anaconda安装pytorch并测试GPU
- 牛客网软通动力软件测试机试_软件测试员工作经验分享?
- mtk android 关机充电,MTK充电开机关机过程
- [完全版] Windows安装与配置Git cz (commitizen)
- win7安装micropython串口驱动失败