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,每个格子和周围的四个格子联动,就是说,如果一个格子变了 ...
随机推荐
- apache mpm的一些问题
win2003系统下apache环境,mpm_winnt.c模式,优化参数: ThreadsPerChild 说明:每个子进程建立的线程数,默认值:64,最大值:1920.网上查询资料建议设置在100 ...
- leetcode 最长公共前缀
编写一个函数来查找字符串数组中的最长公共前缀. 如果不存在公共前缀,返回空字符串"". 示例 1: 输入: ["flower","flow" ...
- Caffe任务池GPU模型图像识别
一开始我在网上找demo没有找到,在群里寻求帮助也没有得到结果,索性将网上的易语言模块反编译之后,提取出对应的dll以及代码,然后对照官方的c++代码,写出了下面的c#版本 /*** * @pName ...
- c# BindingSource 类
1.引言 BindingSource组件是数据源和控件间的一座桥,同时提供了大量的API和Event供我们使用.使用这些API我们可以将Code与各种具体类型数据源进行解耦:使用这些Eve ...
- Winfrom PictureBox 设置图片自适应
初始状态 Bitmap bm = new Bitmap(Image.FromStream(System.Net.WebRequest.Create(new Uri(result.Result)).Ge ...
- form 认证 读取
class Program { public static CookieContainer cc { get; set; } static void Main(string[] args) { str ...
- (三)SSO之CAS框架单点退出,退出到CAS登录界面
应需求的改变.CAS自定义登录页面不安全,不再使用,于是我一下子回到了原点,在linux上部署上了没有加自定义登陆界面的CAS,接下来开始修改CAS自己默认的登录界面为我们的界面. 一下子修改成功是根 ...
- [ActionScript3.0] 使用FileReferenceList处理多个文件上载
package { import flash.display.Sprite; import flash.events.DataEvent; import flash.events.Event; imp ...
- IDEA 引入外部jar包 pom 配置,防止打包失败
1. <!--添加外部依赖--> <dependency> <groupId>Ice</groupId> ...
- Java中关键字final用法
///首先声明,本文转载自博客园的海子,链接:http://www.cnblogs.com/dolphin0520/p/3736238.html 浅析Java中的final关键字 谈到final关键字 ...