高斯消元的题本质思想一样。

学习网址: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的更多相关文章

  1. POJ:1222-EXTENDED LIGHTS OUT(矩阵反转)

    EXTENDED LIGHTS OUT Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 12956 Accepted: 8186 ...

  2. POJ 1222 EXTENDED LIGHTS OUT(翻转+二维开关问题)

    POJ 1222 EXTENDED LIGHTS OUT 今天真是完美的一天,这是我在poj上的100A,留个纪念,马上就要期中考试了,可能后面几周刷题就没这么快了,不管怎样,为下一个200A奋斗, ...

  3. 【POJ】1222 EXTENDED LIGHTS OUT(高斯消元)

    http://poj.org/problem?id=1222 竟然我理解了两天..... 首先先来了解异或方程组(或者说mod2方程组,modk的话貌似可以这样拓展出来) 对于一些我们需要求出的变量a ...

  4. POJ 1222 EXTENDED LIGHTS OUT(高斯消元解异或方程组)

    EXTENDED LIGHTS OUT Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 10835   Accepted: 6 ...

  5. Poj 1222 EXTENDED LIGHTS OUT

    题目大意:给你一个5*6的格子,每个格子中有灯(亮着1,暗着0),每次你可以把一个暗的点亮(或者亮的熄灭)然后它上下左右的灯也会跟着变化.最后让你把所有的灯熄灭,问你应该改变哪些灯. 首先我们可以发现 ...

  6. poj 1222 EXTENDED LIGHTS OUT(位运算+枚举)

    http://poj.org/problem?id=1222 题意:给一个确定的5*6放入矩阵.每一个格子都有一个开关和一盏灯,0表示灯没亮,1表示灯亮着.让你输出一个5*6的矩阵ans[i][j], ...

  7. 【高斯消元】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 ...

  8. OpenJudge 2811 熄灯问题 / Poj 1222 EXTENDED LIGHTS OUT

    1.链接地址: http://bailian.openjudge.cn/practice/2811 http://poj.org/problem?id=1222 2.题目: 总时间限制: 1000ms ...

  9. POJ 1222 EXTENDED LIGHTS OUT(高斯消元)

    [题目链接] http://poj.org/problem?id=1222 [题目大意] 给出一个6*5的矩阵,由0和1构成,要求将其全部变成0,每个格子和周围的四个格子联动,就是说,如果一个格子变了 ...

随机推荐

  1. c# 前后日期设置

    List<string> list = new List<string>(); //根据当月 显示前6个月 for(int i=0;i<6;i++) { list.add ...

  2. AJAX get/post;

    $.ajax({ dataType: "json", type: "POST", url: "地址(/api/products)", dat ...

  3. linux 动态库加载路径修改

    1.在 /etc/ld.so.conf 文件中添加搜索路径,重启或者 ldconfig 生效: 2.在 /etc/ld.so.conf.d 目录下添加 *.conf 文件,其中可以添加搜索路径,重启获 ...

  4. DP刷题

    http://blog.csdn.net/a1dark/article/details/17115137

  5. GO学习笔记 - 数据类型转换

    官方教程:https://tour.go-zh.org/basics/13 表达式 T(v) 将值 v 转换为类型 T . 一些关于数值的转换: var i int = 42 var f float6 ...

  6. 【ocp-12c】最新Oracle OCP-071考试题库(40题)

    40.(8-7) choose two Which two statements are true regarding views? (Choose two.) A) A simple view in ...

  7. Windows 如何完整备份驱动

    软件:DriverBackUp 系统环境:Windows7 首先将DriverBackUp.exe放到桌面,然后运行,我们会看到提示信息提示我们驱动程序被备份到了D盘 然后我们会看到备份界面 这里我们 ...

  8. 如何实现三个div都自适应(滴滴面试题)

    <div class="table"> <div class="accordant"> <div class="box& ...

  9. AngularJS入门讲解3:$http服务和路由讲解

    上一课的例子中,我们的模型数据是硬编码的,也就是说,我们的数据不是从服务器请求回来的. 这里,我们先讲解,如何从服务器获取数据: function PhoneListCtrl($scope, $htt ...

  10. linux中python配置tab=4个空格,并显示行号。

    vim ~/.vimrc 写入: set ts=4 set nu :wq 保存. source ~/.vimrc 使之生效.