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 ;
}

最新文章

  1. memcached SASLAUTH 启动
  2. Oracle/SQL 修改字段类型和长度
  3. Swift语言中为外部参数设置默认值可变参数常量参数变量参数输入输出参数
  4. CentOS 多网卡绑定bonding
  5. LESS中文版函数手册
  6. org.springframework.web.filter.DelegatingFilterProxy的理解
  7. 利用c语言做简单的迷宫小游戏
  8. (转)MVC 路由
  9. 十月例题F题 - City Game
  10. jquey复选框三级分类关联一二级分类
  11. Linux 高性能server编程——高级I/O函数
  12. Python眼睛护士改进版
  13. hdu 3333 树状数组+离线处理
  14. UIP源码之ARP过程分析
  15. Andorid之页面布局优化
  16. [Swift]LeetCode709. 转换成小写字母 | To Lower Case
  17. bouncing-balls
  18. cf29d 深搜,dfs序
  19. [Java in NetBeans] Lesson 07. JavaDoc and Unit Tests
  20. shell script auto generate the relevant header information

热门文章

  1. 【数据结构】洛谷2019 OI春令营 - 普及组 作业
  2. JVM命令行参数解析
  3. LaTeX技巧96:LaTeX 图片控制命令,位置控制
  4. List 集合的常用方法总结
  5. (十一)web服务与javaweb结合(2)
  6. python练习:函数4
  7. js基本对象
  8. Julia 学习
  9. JS实现异步的几种方式
  10. sql根据一个表查询的数据作为条件查询另一个表