Gym 100008E Harmonious Matrices 高斯消元
看这个就懂了
#include <bits/stdc++.h>
using namespace std; const int maxn = 2000;
int a[maxn][maxn];
int x[maxn];
int dx[]= {0,0,-1,0,1};
int dy[]= {0,-1,0,1,0}; void Guass(int equ,int var)
{
int row,col;
row=col=0;
while(row<equ && col<var)
{
//列非零主
int r=row;
for(int i=row; i<equ; i++)
if(a[i][col]!=0)
{
r=i;
break;
}
if(r!=row)
{
for(int j=col; j<var+1; j++)
swap(a[row][j],a[r][j]);
}
if(a[row][col]==0)//说明有自由变元
{
col++;
continue;
}
//消元
for(int i=row+1; i<equ; i++)
{
if(a[i][col]==0) continue;
for(int j=col; j<var+1; j++)
a[i][j]^=a[row][j];
}
row++;
col++;
}
int num = col-row;
for(int i=var-1; num!=0; i--,num--)
x[i] = 1;
num = col-row;
for(int i=equ-num-1; i>=0; i--)
{
x[i]=a[i][var];
for(int j=i+1; j<var; j++)
x[i]^=(a[i][j]*x[j]);
}
} int main()
{
// freopen("in.txt","r",stdin);
int t,n,m;
scanf("%d", &t);
while(t--)
{
scanf("%d%d", &n, &m);
memset(a,0,sizeof(a));
for(int i=0; i<n; i++)
for(int j=0; j<m; j++)
for(int k=0; k < 5; k++)
{
int nx = i+dx[k];
int ny = j+dy[k];
if(nx >= 0 && nx < n && ny >= 0 && ny < m) a[i*m+j][nx*m+ny] = 1;
}
Guass(n*m, n*m);
for(int i=0; i<n; i++)
{
for(int j=0; j<m-1; j++)
printf("%d ", x[i*m+j]);
printf("%d\n", x[i*m+m-1]);
}
}
return 0;
}
Gym 100008E Harmonious Matrices 高斯消元的更多相关文章
- Codeforces Gym10008E Harmonious Matrices(高斯消元)
[题目链接] http://codeforces.com/gym/100008/ [题目大意] 给出 一个n*m的矩阵,要求用0和1填满,使得每个位置和周围四格相加为偶数,要求1的数目尽量多. [题解 ...
- 【枚举】【高斯消元】Gym - 101412D - Find the Outlier
给你一个未知的d次多项式在0,1,...,d+2处的取值,其中有且只有一个是错的,问你哪个是错的. 枚举哪个是错的,再在剩下的d+2个中取d+1个高斯消元,解出多项式系数,然后代一下最后剩下的那个数看 ...
- 【BZOJ-3143】游走 高斯消元 + 概率期望
3143: [Hnoi2013]游走 Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 2264 Solved: 987[Submit][Status] ...
- 【BZOJ-3270】博物馆 高斯消元 + 概率期望
3270: 博物馆 Time Limit: 30 Sec Memory Limit: 128 MBSubmit: 292 Solved: 158[Submit][Status][Discuss] ...
- *POJ 1222 高斯消元
EXTENDED LIGHTS OUT Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 9612 Accepted: 62 ...
- [bzoj1013][JSOI2008][球形空间产生器sphere] (高斯消元)
Description 有一个球形空间产生器能够在n维空间中产生一个坚硬的球体.现在,你被困在了这个n维球体中,你只知道球 面上n+1个点的坐标,你需要以最快的速度确定这个n维球体的球心坐标,以便于摧 ...
- hihoCoder 1196 高斯消元·二
Description 一个黑白网格,点一次会改变这个以及与其连通的其他方格的颜色,求最少点击次数使得所有全部变成黑色. Sol 高斯消元解异或方程组. 先建立一个方程组. \(x_i\) 表示这个点 ...
- BZOJ 2844 albus就是要第一个出场 ——高斯消元 线性基
[题目分析] 高斯消元求线性基. 题目本身不难,但是两种维护线性基的方法引起了我的思考. void gauss(){ k=n; F(i,1,n){ F(j,i+1,n) if (a[j]>a[i ...
- SPOJ HIGH Highways ——Matrix-Tree定理 高斯消元
[题目分析] Matrix-Tree定理+高斯消元 求矩阵行列式的值,就可以得到生成树的个数. 至于证明,可以去看Vflea King(炸树狂魔)的博客 [代码] #include <cmath ...
随机推荐
- C++课程设计 通讯录管理系统 原码及解析
设计题目:通信录管理系统 用C++设计出模拟手机通信录管理系统,实现对手机中的通信录进行管理. (一)功能要求 查看功能:选择此功能时,列出下列三类选择. A 办公类B 个人类C 商务类,当选中某类时 ...
- Linux服务之nginx服务篇五(静态/动态文件缓存)
一.nginx实现静态文件缓存实战 1.nginx静态文件缓存 如果要熟练使用nginx来实现文件的缓存,那下面的几个指令你必须要牢记于心 (1)指令1:proxy_cache_path 作用:设置缓 ...
- 有关fgets和fcntl的讨论-待整理更新
问题引出 一个client程序:select 超时监听 sockfd套接字 和 STDIN_FILENO标准输入:若sockfd可读则接收server报文:若标准输入可读(按下回车),则开始用fget ...
- 6.2 gzip:压缩或解压文件
gzip命令 用于将一个大的文件通过压缩算法(Lempel-Ziv coding(LZ77))变成一个小的文件.gzip命令不能直接压缩目录,因此目录需要先用tar打包成一个文件,然后tar再调用gz ...
- MyBatisPlus详细总结记录
本文由 简悦 SimpRead 转码, 原文地址 mp.weixin.qq.com 小 Hub 领读: 一篇写得非常详细的文章,增删改查,各种插件,让你测底熟悉 mybatis plus. 作者:yo ...
- RabbitMQ(1)学习目标
一:安装,专业术语,简单队列,工作队列,发布/订阅队列,路由队列,主题队列,RPC队列,事务,确认模式,SpringAMQP 二:什么是MQ? MQ就是消息队列,是一种进程间通信或同一进程的不同线程间 ...
- TVM自动调度器
TVM自动调度器 随着模型大小,算子多样性和硬件异构性的不断增长,优化深度神经网络的执行速度非常困难.从计算的角度来看,深度神经网络只是张量计算的一层又一层.这些张量计算(例如matmul和conv2 ...
- CVPR2020:利用图像投票增强点云中的三维目标检测(ImVoteNet)
CVPR2020:利用图像投票增强点云中的三维目标检测(ImVoteNet) ImVoteNet: Boosting 3D Object Detection in Point Clouds With ...
- Python分析离散心率信号(上)
Python分析离散心率信号(上) 一些理论和背景 心率包含许多有关信息.如果拥有心率传感器和一些数据,那么当然可以购买分析包或尝试一些可用的开源产品,但是并非所有产品都可以满足需求.也是这种情况.那 ...
- 开发掉坑(一)tar命令解压文件覆盖源文件
今天在编译机上编译前端代码,报了找不到依赖的异常.检查后发现是node_modules/.bin下少了一些文件. 一开始疑惑为什么本地能成功生成软链在node_modules/.bin,服务器上面却不 ...