code#5 P3 我有矩阵,你有吗?
我有矩阵,你有吗?
时间限制: 1.0 秒
空间限制: 128 MB
相关文件: 题目目录
题目描述
企鹅豆豆手里有两个 01 矩阵 A 和 B。他可以进行两种操作:
- 选择 A 矩阵的一行,然后把这一行的 0 变成 1,把 1 变成 0。
- 选择 A 矩阵的一列,然后把这一列的 0 变成 1,把 1 变成 0。
现在他想知道能不能把 A 矩阵通过以上操作变成 B 矩阵。保证 A 矩阵和 B 矩阵的大小一致。
输入格式
从标准输入读入数据。
每个测试点只有一组数据。
输入的第一行包含两个正整数 n 和 m,表示 A 矩阵的行数,保证 n≤103,m≤103。 接下来 n 行,每行 m 个由空格隔开的整数,表示矩阵 A。保证矩阵中只有 0 或者 1。 接下来 n 行,每行 m 个由空格隔开的整数,表示矩阵 B。保证矩阵中只有 0 或者 1。
输出格式
输出到标准输出。
如果矩阵 A 通过以上两种操作可以变成矩阵 B,输出 Koyi
,否则输出 Budexing
。
思路:
在做这道题之前,建议大家先看一下
[SCOI2005]扫雷
这两道题在思路上有着相似之处
我们可以将01矩阵转化一下,生成一个新的矩阵
如果两个矩阵在该位置相同,那么新矩阵这个位置的值为1
否则为0
我们分别假定第一个位置被修改过,没有被修改过
分别跑一次
因为要求合法,所以当第一行状态被确定时,后面的状态就全部被确定了
暴力n*m地扫就行
代码:
#include<iostream>
#include<cstdio>
#include<cstring>
#include<bitset>
#include<queue>
#include<cstdlib>
#include<algorithm>
#define rii register int i
#define rij register int j
using namespace std;
int ys[][],mb[][],now[][],cs[][];
int m,n;
inline bool cs1()
{
for(rii=;i<=m;i++)
{
if(now[][i]==)
{
for(rij=;j<=n;j++)
{
now[j][i]=(now[j][i]+)%;
}
}
}
for(rii=;i<=n;i++)
{
int pd=now[i][];
for(rij=;j<=m;j++)
{
if(now[i][j]!=pd)
{
return false;
}
}
}
return true;
}
inline bool cs2()
{
for(rii=;i<=m;i++)
{
if(now[][i]==)
{
for(rij=;j<=n;j++)
{
now[j][i]=(now[j][i]+)%;
}
}
}
for(rii=;i<=n;i++)
{
int pd=now[i][];
for(rij=;j<=m;j++)
{
if(now[i][j]!=pd)
{
return false;
}
}
}
return true;
}
int main()
{
// freopen("2.in","r",stdin);
scanf("%d%d",&n,&m);
for(rii=;i<=n;i++)
{
for(rij=;j<=m;j++)
{
scanf("%d",&ys[i][j]);
}
}
for(rii=;i<=n;i++)
{
for(rij=;j<=m;j++)
{
scanf("%d",&mb[i][j]);
}
}
for(rii=;i<=n;i++)
{
for(rij=;j<=m;j++)
{
if(ys[i][j]!=mb[i][j])
{
now[i][j]=;
cs[i][j]=;
}
}
}
if(cs1()==true)
{
puts("Koyi");
return ;
}
if(cs2()==true)
{
puts("Koyi");
return ;
}
puts("Budexing");
return ;
}
code#5 P3 我有矩阵,你有吗?的更多相关文章
- SQLite剖析之内核研究
先从全局的角度把握SQLite内核各个模块的设计和功能.SQLite采用了层次化.模块化的设计,而这些使得它的可扩展性和可移植性非常强.而且SQLite的架构与通用DBMS的结构差别不是很大,所以它对 ...
- SQLite入门与分析(三)---内核概述(1)
写在前面:从本章开始,我们开始进入SQLite的内核.为了能更好的理解SQLite,我先从总的结构上讨论一下内核,从全局把握SQLite很重要.SQLite的内核实现不是很难,但是也不是很简单.总的来 ...
- R语言实现SOM(自组织映射)模型(三个函数包+代码)
每每以为攀得众山小,可.每每又切实来到起点,大牛们,缓缓脚步来俺笔记葩分享一下吧,please~ --------------------------- SOM自组织映射神经网络模型 的R语言实现 笔 ...
- 最小二乘法多项式拟合的Java实现
背景 由项目中需要根据一些已有数据学习出一个y=ax+b的一元二项式,给定了x,y的一些样本数据,通过梯度下降或最小二乘法做多项式拟合得到a.b,解决该问题时,首先想到的是通过spark mllib去 ...
- [SCOI2009] 迷路
题目类型:拆点, 矩阵快速幂 转化为矩阵快速幂,好题! 传送门:>Here< 题意:给出邻接矩阵,求\(1\)到\(N\)恰好长度为\(T\)的路径方案数 解题思路 如果题目给出的是一个\ ...
- Ten C++11 Features Every C++ Developer Should Use
原版:http://www.codeproject.com/Articles/570638/Ten-Cplusplus-Features-Every-Cplusplus-Developer 译版:ht ...
- @雅礼集训01/10 - T1@ matrix
目录 @description@ @solution@ @accepted code@ @details@ @description@ 给定一个矩阵.求它的所有子矩阵中本质不同的行的个数之和. inp ...
- 139. Word Break 以及 140.Word Break II
139. Word Break Given a non-empty string s and a dictionary wordDict containing a list of non-empty ...
- 无损卡尔曼滤波UKF(3)-预测-生成Sigma点
无损卡尔曼滤波UKF(3)-预测-生成Sigma点 1 选择创建Sigma点 A 根据 已知上一个时间戳迭代出来的 后验状态 x_{k|k} 和后验协方差矩阵 P_{k|k} 他们代表当前状态的分布. ...
随机推荐
- MPU/SoC/Application Processor/Embedded OS
Everything has its principles and mechanisms which are designed by its creator and followed by its u ...
- Android热修复之AndFix使用教程
AndFix的github地址 AndFix 全称Android hot-fix,是alibaba的Android热修复框架,支持Android 2.3到6.0的版本,支持arm与X86系统架构,支持 ...
- .net core Web应用启动类
在ASP.NET Core中,Startup类为Web应用的入口类,用于配置Web服务的管道/过滤器以及Web应用所能用到的服务.在启动Web应用后,ASP.NET将在主库中查询名为Startup的类 ...
- zabbix共享内存报错cannot create semaphore set
zabbix共享内存报错 cannot open log: cannot create semaphore set: [28] No space left on device 报错原因: kernel ...
- 立即抢注我的免费1T云空间
立即抢注我的免费1T云空间 在IDC行业中,有许多的免费空间,而真正的免费空间又能有多少?我是一个草根站长,说实话,为了寻找一个很好的免费空间,我在网上找了好多,几乎所有的免费空间都用过,但当网站运行 ...
- C#实现字符串相似度算法
字符串的相似性比较应用场合很多,像拼写纠错.文本去重.上下文相似性等. 评价字符串相似度最常见的办法就是: 把一个字符串通过插入.删除或替换这样的编辑操作,变成另外一个字符串,所需要的最少编辑次数,这 ...
- [翻译] JTBorderDotAnimation
JTBorderDotAnimation https://github.com/jonathantribouharet/JTBorderDotAnimation JTBorderDotAnimatio ...
- ArcGIS的网络分析
ArcGIS的网络分析分为两类:传输网络(Network Analyst)和效用网络(Utility Network Analyst). 一.从应用上来考虑: 1.传输网络常用于道路.地铁等交通网络分 ...
- xss challenges平台学习
虽然在很早之前就接触过xss,有一段时间还就着一本书研究过,但是始终没有实感,掌握的也不够系统,所以现在借着这几个平台再学习一遍 首先来玩一玩xss challenge平台 第一关:http://xs ...
- DB_NAME DB_UNIQUE_NAME 和 SID 的理解
1. DB_NAME 表示数据库名称,DB_NAME 会保持在数据文件头.控制文件.REDO文件里,所以更改DB_NAME不能仅仅修改spfile ,还需要用nid 来进行更改,并且更改后还需要手工做 ...