BZOJ 3503 高斯消元
来源:互联网 发布:护肤品淘宝店产品下架 编辑:程序博客网 时间:2024/06/06 16:27
思路:
高斯消元就好啦
注意每个格子最多只能和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'); }}
0 0
- BZOJ 3503 高斯消元
- BZOJ 3503 CQOI 2014 和谐矩阵 高斯消元
- bzoj 3503: [Cqoi2014]和谐矩阵(高斯消元)
- bzoj 3503 和谐矩阵
- BZOJ 3143 (概率+高斯消元)
- BZOJ 2419 电阻 高斯消元
- BZOJ 3143 游走 高斯消元
- BZOJ 1013 高斯消元
- BZOJ 2115 DFS+高斯消元
- BZOJ 3143 高斯消元+贪心....
- bzoj 1013 高斯消元
- BZOJ 4004 高斯消元
- 【BZOJ 2419】电阻 高斯消元
- bzoj 1013 高斯消元
- BZOJ 2419: 电阻 高斯消元
- 【BZOJ 3503】 [Cqoi2014]和谐矩阵|高斯消元|xor方程组
- [BZOJ ]
- BZOJ****-****
- 关于as遇到的Enable "Android Support" Plugin错误问题
- linuxC系统编程——文件的I/O操作
- JS对HTML字符的转义和反转义
- tomcat配置MySQL数据源
- SurfaceView和TextureView区别分析
- BZOJ 3503 高斯消元
- PHP7扩展开发之创建变量
- ArcSDE基本概念理解
- Ajax请求中的async:false/true的作用
- 全网首发鑫众最新的三通源码pc+手机安卓ios源码带组件大厅源码
- IOS-OC 16进制转化为10进制 OK版本
- android 帧动画,补间动画,属性动画的简单总结
- HTTP中的Get与Post区别
- 计算机网络基础知识