思路:

高斯消元就好啦

注意每个格子最多只能和4个相邻

所以是 n*m*n*m*5 的 并不会TLE

//By SiriusRen
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
int n,m,a[44][44],xx[]={0,0,1,-1,0},yy[]={1,-1,0,0,0},eli[1666][1666],b[1666],ans[1666];
int main(){
scanf("%d%d",&n,&m);
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++)
a[i][j]=1;
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++)
for(int k=0;k<=4;k++){
int dx=i+xx[k],dy=j+yy[k];
if(a[dx][dy]){
int tempa=(i-1)*m+j,tempb=(dx-1)*m+dy;
eli[tempa][tempb]=1;
}
}
for(int i=1;i<=n*m;i++){
bool flag=0;
for(int j=i;j<=n*m;j++){
if(eli[j][i]){
for(int k=1;k<=n*m;k++)
swap(eli[i][k],eli[j][k]);
flag=1;break;
}
}
if(!flag)continue;
for(int j=i+1;j<=n*m;j++){
if(eli[j][i])
for(int k=1;k<=n*m;k++)
eli[j][k]^=eli[i][k];
}
}
for(int i=n*m;i;i--){
ans[i]=eli[i][i]?b[i]:1;
if(ans[i])for(int j=1;j<=i-1;j++)if(eli[j][i])b[j]^=1;
}
for(int i=1;i<=n*m;i++){
printf("%d ",ans[i]);
if(i%m==0)putchar('\n');
}
}

最新文章

  1. JS - 柯里化
  2. C#委托与事件的简单使用
  3. NBUT比赛 方格规律递推题
  4. 注意页面上的时间戳可能会成为bd快照的时间_快照不更新的原因
  5. 【python】Python标准库defaultdict模块
  6. EcilpsePHP studio 3.0 运行(run)环境配置
  7. Java Concurrency - Callable &amp; Future
  8. 【转载】干货来袭!Linux小白最佳实践:《超容易的Linux系统管理入门书》(连载七)LAMP集成安装
  9. jTemplates——学习(1)
  10. windows、linux创建子进程
  11. .Net中jQuery.ajax()调用asp.net后台方法 总结
  12. 201521123044 《Java程序设计》第9周学习总结
  13. Ryz的鬼题
  14. 【学习笔记】Hibernate关联映射(Y2-1-6)
  15. Linux运维故障排查思路
  16. Node.js Event Loop 的理解 Timers,process.nextTick()
  17. nginx socket转发设置
  18. Confluence 6 使用 LDAP 授权连接一个内部目录 - 服务器设置
  19. 如何用 纯C++(ndk)开发安卓应用 ?
  20. 传输层协议TCP和UDP分析

热门文章

  1. 【POJ 2485】 Highways
  2. UVALive 4192/HDU 2959 Close Enough Computations 数学
  3. codeblocks开源的c、c++编译器,小巧方便
  4. iOS中respondsToSelector与conformsToProtocol的相关理解和使用
  5. TensorFlow高层次机器学习API (tf.contrib.learn)
  6. [JZOJ 4307] [NOIP2015模拟11.3晚] 喝喝喝 解题报告
  7. BZOJ 1898 构造矩阵+矩阵快速幂
  8. Nashorn——在JDK 8中融合Java与JavaScript之力--转
  9. 【原创】VSFTP: Login failure: 530 Login incorrect的解决办法
  10. 移动端font-size适配