poj 1222EXTENDED LIGHTS OUT
高斯消元的题本质思想一样。
学习网址:http://www.cnblogs.com/rainydays/archive/2011/08/31/2160748.html
#include <iostream>
#include <cstdlib>
#include <cstring>
#include <cstdio>
using namespace std;
short g[][],f[][],m[][]={{,},{,},{,-},{,},{-,}},x[];
short swap(short &a,short &b){
a=a^b;
b=a^b;
a=a^b;
}
void work(){
memset(x,,sizeof(x));//无关项默认为0
short i,j,k,l;
for(i=,j=;j<;){
for(k=i;k<;k++){
if(g[k][j]!=)
break;
}
if(k==){
j++;
continue;
}
if(k!=i){
for(l=j;l<=;l++)
swap(g[k][l],g[i][l]);
}
for(k=i+;k<;k++){
if(g[k][j])
for(l=j;l<=;l++){
g[k][l]=g[i][l]^g[k][l];
}
}
i++;j++;
}//j==30
for(k=i-;k>=;k--){
x[k]=g[k][];
for(l=;l>k;l--){
x[k]^=g[k][l]&&x[l];
}
}//题中已经保证有解,无需再进行有无解的判断
}
void print(){
short i=,j=;
for(;i<;i++){
cout<<x[i*];
for(j=;j<;j++){
cout<<' '<<x[i*+j];
}
cout<<endl;
}
}
int main(){
//freopen("D:\\INPUT.txt","r", stdin);
int n,t;
cin>>n;
t=;
int i,j,k,a,b;
for(i=;i<;i++)
for(j=;j<;j++)
for(k=;k<;k++){
a=i+m[k][];
b=j+m[k][];
if(a>=&&b>=&&a<&&b<){
f[i*+j][a*+b]=;
}
}
while(t<=n){
cout<<"PUZZLE #"<<t++<<endl;
memcpy(g,f,sizeof(f));
for(i=;i<;i++){
scanf("%d",&g[i][]);
}
/* for(i=0;i<30;i++){
cout<<g[i][0];
for(j=1;j<=30;j++){
cout<<' '<<g[i][j];
}
cout<<endl;
}*/
//print();
work();
print();
}
return ;
}
poj 1222EXTENDED LIGHTS OUT的更多相关文章
- POJ:1222-EXTENDED LIGHTS OUT(矩阵反转)
EXTENDED LIGHTS OUT Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 12956 Accepted: 8186 ...
- POJ 1222 EXTENDED LIGHTS OUT(翻转+二维开关问题)
POJ 1222 EXTENDED LIGHTS OUT 今天真是完美的一天,这是我在poj上的100A,留个纪念,马上就要期中考试了,可能后面几周刷题就没这么快了,不管怎样,为下一个200A奋斗, ...
- 【POJ】1222 EXTENDED LIGHTS OUT(高斯消元)
http://poj.org/problem?id=1222 竟然我理解了两天..... 首先先来了解异或方程组(或者说mod2方程组,modk的话貌似可以这样拓展出来) 对于一些我们需要求出的变量a ...
- POJ 1222 EXTENDED LIGHTS OUT(高斯消元解异或方程组)
EXTENDED LIGHTS OUT Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 10835 Accepted: 6 ...
- Poj 1222 EXTENDED LIGHTS OUT
题目大意:给你一个5*6的格子,每个格子中有灯(亮着1,暗着0),每次你可以把一个暗的点亮(或者亮的熄灭)然后它上下左右的灯也会跟着变化.最后让你把所有的灯熄灭,问你应该改变哪些灯. 首先我们可以发现 ...
- poj 1222 EXTENDED LIGHTS OUT(位运算+枚举)
http://poj.org/problem?id=1222 题意:给一个确定的5*6放入矩阵.每一个格子都有一个开关和一盏灯,0表示灯没亮,1表示灯亮着.让你输出一个5*6的矩阵ans[i][j], ...
- 【高斯消元】Poj 1222:EXTENDED LIGHTS OUT
Description In an extended version of the game Lights Out, is a puzzle with 5 rows of 6 buttons each ...
- OpenJudge 2811 熄灯问题 / Poj 1222 EXTENDED LIGHTS OUT
1.链接地址: http://bailian.openjudge.cn/practice/2811 http://poj.org/problem?id=1222 2.题目: 总时间限制: 1000ms ...
- POJ 1222 EXTENDED LIGHTS OUT(高斯消元)
[题目链接] http://poj.org/problem?id=1222 [题目大意] 给出一个6*5的矩阵,由0和1构成,要求将其全部变成0,每个格子和周围的四个格子联动,就是说,如果一个格子变了 ...
随机推荐
- .Net 使用HighCharts 导入图片到Excel
需求:数据统计报表使用到HighCharts显示各种图形:柱状图,饼图,点阵图等等,需要将数据表以及对应的图像导入到Excel中,方便打印. 解决方法: Excel导出采用NPOI,HighChart ...
- 注意力机制(Attention Mechanism)应用——自然语言处理(NLP)
近年来,深度学习的研究越来越深入,在各个领域也都获得了不少突破性的进展.基于注意力(attention)机制的神经网络成为了最近神经网络研究的一个热点,下面是一些基于attention机制的神经网络在 ...
- php—Smarty-2
一.注释 *注释内容* Html注释显示客户端源文件中 Smarty注释不会发给客户端 Smarty的注释主要给模板设计者来看的 二.模板中的变量 l 由php文件分配 1) 普通变量 2) 数 ...
- 苹果笔记本调整 pycharm 字体大小的地方
我想,对于习惯了使用windows版本 或者 乌班图版本 的pycharm 的人而言, mac版本调节字体的地方藏的实在是太坑爹了.
- Python数据采集处理分析挖掘可视化应用实例
距离上一次发Python的技术贴已经过去两年了,这两年大法初成,并在知乎谢了相关技术专栏.现在搬运如下,均为原创,转载需注明出处哦! https://zhuanlan.zhihu.com/p/2957 ...
- VIO的Bundle Adjustment推导
IMU模型和运动积分 $R_{\tiny{WB}} \left( t +\Delta{t} \right) = R_{\tiny{WB}} \left( t \right) Exp\left( \in ...
- Centos安装Ruby2.2.3
升级软件包版本 (PS:我没有升级,一是太慢了,二是不知道更新完之后是否会影响其他的应用) #升级所有包,改变软件设置和系统设置,系统版本内核都升级 yum -y update #升级所有包,不改变软 ...
- python数据类型详解(全面)
python数据类型详解 目录1.字符串2.布尔类型3.整数4.浮点数5.数字6.列表7.元组8.字典9.日期 1.字符串1.1.如何在Python中使用字符串a.使用单引号(')用单引号括起来表示字 ...
- 总结day3 ---- 进制转换,字符串切片,字符串常用方法.,for 循环,
前情提要: int 的相关操作 进制转换 bit_lenth() str 的索引,以及常用的相关方法 for 循环 索引 切片 相关方法 一 : int 的相关操作 int 主要用于生活中的计算问题 ...
- Linux之Ubuntu中的安装应用
在Ubuntu中我们经常会使用apt install “APP name” 来安装需要的应用. 从图中我们可以看到,我们使用apt install map命令安装一个map小游戏,这个小游戏是一个用四 ...