【题解】魔板—洛谷P1275。
话说好久没更博了。
最近学了好多知识懒的加进来了。
有幸认识一位大佬。
让我有了继续更博的兴趣。
但这是一个旧的题解。
我在某谷上早就发过的。
拿过来直接用就当回归了吧。
其实这道题有一个特别关键的思路。
拿着你要确定的魔板中列去枚举要匹配的魔板的每一列。
因为列是可以交换的。
而且还有最关键的一个点。
如果你确定了其中有一列对应了,那么你的魔板其实就已经固定了。行就不能变换了。
上边这个关键点的确不好想,但是想通了这个题也就好解决了。
然后就可以用map进行对应开始查询。
如果手里的魔板的数和要确定了一一对应了就YES了。
然后你手里的魔板和需要对应的魔板对应成功就可以输出YES了。
要记着在每次枚举的时候clear一次。
具体看下面代码。
#include<iostream>
#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<algorithm>
#include<cmath>
#include<cctype>
#include<map>
#define rg register
#define int long long
using namespace std;
inline int read(){
rg int s=0,f=0;
rg char ch=getchar();
while(!isdigit(ch)) f|=(ch=='-'),ch=getchar();
while(isdigit(ch)) s=(s<<1)+(s<<3)+(ch^48),ch=getchar();
return f?-s:s;
}
int n,m,k;
const int MAX=115;
int a1[MAX][MAX],a2[MAX][MAX],vis[MAX];
string S;
map<string,int>hsh;
void init(){
n=read(),m=read();
for(rg int i=1;i<=n;++i){
for(rg int j=1;j<=m;++j){
a1[i][j]=read();
}
}
for(rg int i=1;i<=n;++i){
for(rg int j=1;j<=m;++j){
a2[i][j]=read();
}
}
}
signed main(){
k=read();
++k;
while(--k){
bool flag=0;
init();//初始化。
for(rg int i=1;i<=m;++i){
hsh.clear();//每次都要清空。
for(rg int j=1;j<=n;++j){
vis[j]=(a1[j][1]==a2[j][i])?0:1;
}//枚举是否能够对应。
for(rg int j=1;j<=n;++j){
for(rg int k=1;k<=m;++k){
a1[j][k]^=vis[j];
}
}//对应就可以^1(代表翻转过了)。
for(rg int j=1;j<=m;++j){
string s=S;
for(rg int k=1;k<=n;++k){
s+=(char)(a1[k][j]+'0');
}
++hsh[s];
}//转换成字符串。
for(rg int j=1;j<=n;++j){
for(rg int k=1;k<=m;++k){
a1[j][k]^=vis[j];
}
}//还原
for(rg int j=1;j<=m;++j){
string s=S;
for(rg int k=1;k<=n;++k){
s+=(char)(a2[k][j]+'0');
}
if(!hsh[s]) break;//这里没被改过就跳过。
--hsh[s];
if(j==m) flag=1;
}
}
if(flag) printf("YES\n");
else printf("NO\n");
}
return 0;
}
完美。
【题解】魔板—洛谷P1275。的更多相关文章
- 【题解】【洛谷 P1967】 货车运输
目录 洛谷 P1967 货车运输 原题 题解 思路 代码 洛谷 P1967 货车运输 原题 题面请查看洛谷 P1967 货车运输. 题解 思路 根据题面,假设我们有一个普通的图: 作图工具:Graph ...
- 洛谷P1275 魔板
P1275 魔板 题目描述 有这样一种魔板:它是一个长方形的面板,被划分成n行m列的n*m个方格.每个方格内有一个小灯泡,灯泡的状态有两种(亮或暗).我们可以通过若干操作使魔板从一个状态改变为另一个状 ...
- 洛谷 P1275 魔板
P1275 魔板 题目描述 有这样一种魔板:它是一个长方形的面板,被划分成n行m列的n*m个方格.每个方格内有一个小灯泡,灯泡的状态有两种(亮或暗).我们可以通过若干操作使魔板从一个状态改变为另一个状 ...
- [题解] LOJ 3300 洛谷 P6620 [省选联考 2020 A 卷] 组合数问题 数学,第二类斯特林数,下降幂
题目 题目里要求的是: \[\sum_{k=0}^n f(k) \times X^k \times \binom nk \] 这里面出现了给定的多项式,还有组合数,这种题目的套路就是先把给定的普通多项 ...
- [题解] BZOJ 3456 洛谷 P4841 [集训队作业2013]城市规划 多项式,分治FFT
题目 令\(f_i\)表示n个点的答案.考虑容斥,用所有连边方案减去有多个连通块的方案.枚举1号点所在的连通块大小: \(f_i=2^{i(i-1)/2}-\sum_{j>0}^{i-1}f_j ...
- BZOJ3675 & 洛谷3648 & UOJ104:[Apio2014]序列分割——题解
https://www.lydsy.com/JudgeOnline/problem.php?id=3675 https://www.luogu.org/problemnew/show/P3648 ht ...
- [洛谷P2408]不同子串个数
题目大意:给你一个字符串,求其中本质不同的字串的个数 题解:同[洛谷P4070][SDOI2016]生成魔咒,只要最后再输出就行了 卡点:无 C++ Code: #include <cstdio ...
- 【CJOJ1494】【洛谷2756】飞行员配对方案问题
题面 题目背景 第二次世界大战时期.. 题目描述 英国皇家空军从沦陷国征募了大量外籍飞行员.由皇家空军派出的每一架飞机都需要配备在航行技能和语言上能互相配合的2 名飞行员,其中1 名是英国飞行员,另1 ...
- 洛谷2973 [USACO10HOL]赶小猪Driving Out the Piggi… 概率 高斯消元
欢迎访问~原文出处——博客园-zhouzhendong 去博客园看该题解 题目传送门 - 洛谷2973 题意概括 有N个城市,M条双向道路组成的地图,城市标号为1到N.“西瓜炸弹”放在1号城市,保证城 ...
随机推荐
- MyBatis学习日记(一):拜见小主——MyBatis
近日学习MyBatis,特将学习过程及一点心得记录于此. MyBatis为何物? MyBatis 是支持定制化SQL.存储过程以及高级映射的优秀的持久层框架.MyBatis 避免了几乎所有的 JDBC ...
- 好的RESTful API的设计原则
转载自一位大佬 英文原版 Principles of good RESTful API Design Good API design is hard! An API represents a cont ...
- Linux ISCSI服务配置
Linux ISCSI服务配置,客户端进行访问 环境配置: server端 172.25.0.11 client端 172.25.0.10 配置ISCSI服务端 1.安装软件包 yum install ...
- 【故障公告】SendCloud 邮件发送服务故障造成大量 QQ 邮箱收不到邮件
抱歉,由于我们所使用的搜狐旗下的 SendCloud 邮件发送服务出现故障,今天上午大量发往 @qq.com 邮箱的邮件无法正常发送,从 SendCloud 管理控制台看这些邮件一直处于“请求中”的状 ...
- MySQL实现按天统计数据的方法
一.首先生成一个日期表,执行SQL如下: CREATE TABLE num (i int); ), (), (), (), (), (), (), (), (), (); CREATE TABLE i ...
- SpringMVC 接受请求参数、作用域传值
目录 原生servlet接收参数 Spring MVC最基础的参数获取 接收基本数据类型参数 方法参数列表和请求参数不一致的处理方式 接收对象引用数据类型 接收复选框这种多个同名的参数 接收obj.f ...
- Docker 核心技术之仓库
Docker 仓库简介 什么是Docker仓库 Docker仓库就是存放docker镜像并有docker pull方法下载的云环境 Docker仓库分为公有仓库和私有仓库. 公有仓库指Docker H ...
- 关于npm安装报错 网络问题等等等
最近需要安装taro 结果网络各种报错 解决方法 : 1重置网络 npm config rm proxynpm config rm https-proxy 2换淘宝镜像 npm config set ...
- 1.openshift
openshit是红帽开源的容器云平台.
- [ffmpeg] 滤波
ffmpeg中有很多已经实现好的滤波器,这些滤波器的实现位于libavfilter目录之下,用户需要进行滤波时,就是是调用这些滤波器来实现的.ffmpeg对于调用滤波器有一整套的调用机制. 基本结构 ...