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

学习网址: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. driver.get()和driver.navigate().to()到底有什么不同?-----Selenium快速入门(四)

    大家都知道,这两个方法都是跳转到指定的url地址,那么这两个方法有什么不同呢?遇到这种情况,第一反应就是查查官方的文档. 官方文档的说法是:Load a new web page in the cur ...

  2. pageadmin CMS网站建设教程:站点添加自定义字段

    首先看看pagedmin默认的站点设置都有什么,如下图: 这里只有一些最基本的参数设置,用过3.0版本或用过其他公司开发的cms的用户应该有这种体验,在站点设置中可以设置logo图片,备案号,底部内容 ...

  3. iOS 禁止多按钮同时响应

    只需要对相应的按钮添加一行代码 [aButton setExclusiveTouch:YES];

  4. WPF InkCanvas EditingMode为Select时 在其选择时各种事件中撤销Select模式的方法

    InkCanvas有多种输入模式. 通过InkCanvasEditingMode来进行对其调整 分别是 None=0// 忽略鼠标和手写笔输入 Ink = 1// 允许用户绘制批注,默认模式.使用鼠标 ...

  5. LOJ#6038. 「雅礼集训 2017 Day5」远行(LCT)

    题面 传送门 题解 要不是因为数组版的\(LCT\)跑得实在太慢我至于去学指针版的么--而且指针版的完全看不懂啊-- 首先有两个结论 1.与一个点距离最大的点为任意一条直径的两个端点之一 2.两棵树之 ...

  6. IntelliJ IDEA 配置JSP & Servlet开发环境

    首先我们要安装和配置好JAVA和TOMCAT,这里不再详细描述 下载地址: JAVA:https://www.oracle.com/technetwork/java/javase/downloads/ ...

  7. day 12 课后作业

    # -*- coding: utf-8 -*-# @Time : 2019/1/4 20:49# @Author : Endless-cloud# @Site : # @File : day 12 课 ...

  8. 递归实现快速幂(C++版)

    快速幂是什么? 顾名思义,快速幂就是快速算底数的n次幂.其时间复杂度为 O(log₂N), 与朴素的O(N)相比效率有了极大的提高. 就以a的b次方来介绍: 把b转换成二进制数,该二进制数第i位的权为 ...

  9. 2. 需要对测试用的数据进行MD5加密

    import hashlib phone_num = open("D:/testdata/phone10.txt","r") out_file = open(& ...

  10. (JAVA作业)练习:创建一个类名为Fruit;包含实例变量:水果名称,颜色,价格,上市月份,有无种子 10个实例:苹果,香蕉,芭乐,柚子,李子,杨桃,猕猴桃,哈密瓜,葡萄,榴莲; 实现功能:提示用户输入水果品种编号,输出该水果的全部信息。

    class Lei { String name; String color; int price; int date; int num; String zz; void assemble(){ Sys ...