[Luogu] 魔板
2024-09-05 04:17:49
https://www.luogu.org/problemnew/show/P1275
#include <iostream>
#include <cstdio>
#include <algorithm>
#include <cstring>
using namespace std;
int n,m,k;
int mb[][],now[][];
bool lm[],yp[];
int search(int fir) {
int i,j,t,bj=;
for(i=; i<=n; i++) { //如果和第一行不一样,则改变
if(now[i][fir]!=mb[i][])lm[i]=;//lm:记录横行是否发生改变
else lm[i]=;
}
yp[fir]=;//第一行已经和fir配对
for(i=; i<=m; i++) { //枚举目标状态
bj=;
for(j=; j<=m; j++) { //枚举当前状态
if(yp[j]==)//如果当前行没有被占用
for(t=; t<=n; t++) {
if((lm[t]==&&now[t][j]!=mb[t][i])||(lm[t]==&&now[t][j]==mb[t][i])) {
if(t==n) {
bj=;
yp[j]=;
}
}
else break;
}
if(bj==)break;
if(j==m)return ;
}
}
return ;
}
int main() {
int i,j,t,na;
scanf("%d",&k);
for(t=; t<=k; t++) {
scanf("%d%d",&n,&m);
for(i=; i<=n; i++)
for(j=; j<=m; j++)scanf("%d",&now[i][j]);
for(i=; i<=n; i++)
for(j=; j<=m; j++)scanf("%d",&mb[i][j]);
for(i=; i<=m; i++) {
memset(yp,,sizeof(yp));
na=search(i);
if(na==) {printf("YES\n"); break;}
if(na==&&i==m) {printf("NO\n"); break;}
}
}
return ;
}
最新文章
- memcached SASLAUTH 启动
- Oracle/SQL 修改字段类型和长度
- Swift语言中为外部参数设置默认值可变参数常量参数变量参数输入输出参数
- CentOS 多网卡绑定bonding
- LESS中文版函数手册
- org.springframework.web.filter.DelegatingFilterProxy的理解
- 利用c语言做简单的迷宫小游戏
- (转)MVC 路由
- 十月例题F题 - City Game
- jquey复选框三级分类关联一二级分类
- Linux 高性能server编程——高级I/O函数
- Python眼睛护士改进版
- hdu 3333 树状数组+离线处理
- UIP源码之ARP过程分析
- Andorid之页面布局优化
- [Swift]LeetCode709. 转换成小写字母 | To Lower Case
- bouncing-balls
- cf29d 深搜,dfs序
- [Java in NetBeans] Lesson 07. JavaDoc and Unit Tests
- shell script auto generate the relevant header information