POJ 1222 EXTENDED LIGHTS OUT
2012-07-22 16:12
387 查看
#include<iostream> #include<vector> #include<algorithm> #include<cstring> #include<cstdio> using namespace std; #define MM(name,what) memset(name,what,sizeof(name)) const int maxn = 30; const int dir[4][2]={{1,0},{-1,0},{0,-1},{0,1}}; int a[maxn][maxn]; int b[maxn]; int x[maxn]; bool yes(int x,int y) { if(x>=0 && x<5 && y>=0 && y<6) { return true; } return false; } int get(int x,int y) { return x*6+y; } bool find(int u,int line) { for(int k=line;k<30;k++) { if(a[k][u]==1) { for(int i=u;i<30;i++) { swap(a[line][i],a[k][i]); } swap(b[line],b[k]); return true; } } return false; } bool start() { int line = 0; for(int u=0;u<30;u++) { if(!find(u,line)) { continue; } for(int k=line+1;k<30;k++) { if(a[k][u]) { for(int i=u;i<30;i++) { a[k][i]^=a[line][i]; } b[k]^=b[line]; } } line++; } if(line==30) { for(int u=29;u>=0;u--) { x[u]=b[u]; for(int i=u+1;i<30;i++) { x[u]^=a[u][i]*x[i]; } } return true; } return false; } int main() { int T; cin>>T; for(int tt=1;tt<=T;tt++) { MM(a,0); for(int i=0;i<maxn;i++) { cin>>b[i]; } int now,to; for(int i=0;i<5;i++) { for(int j=0;j<6;j++) { int now = get(i,j); a[now][now]=1; for(int u=0;u<4;u++) { int tox = i+dir[u][0]; int toy = j+dir[u][1]; to = get(tox,toy); if(yes(tox,toy)) { a[now][to]=1; } } } } if(start()) { cout<<"PUZZLE #"<<tt<<endl; for(int i=0;i<5;i++) { for(int j=0;j<5;j++) { cout<<x[get(i,j)]<<" "; } cout<<x[get(i,5)]<<endl; } } } return 0; }
相关文章推荐
- poj1222 EXTENDED LIGHTS OUT
- POJ 1222 EXTENDED LIGHTS OUT 高斯消元?暴力枚举!
- poj-1222-EXTENDED LIGHTS OUT && poj-1681-Painter's Problem
- Poj1222 EXTENDED LIGHTS OUT
- 【POJ 1222】EXTENDED LIGHTS OUT
- POJ 1222 EXTENDED LIGHTS OUT 高斯消元
- poj 1222 Extended lights out (emulator)
- [POJ 1222] EXTENDED LIGHTS OUT
- Poj 1222 EXTENDED LIGHTS OUT
- poj 1222 EXTENDED LIGHTS OUT
- [POJ 1222] EXTENDED LIGHTS OUT
- POJ1222_EXTENDED LIGHTS OUT
- POJ 1222 EXTENDED LIGHTS OUT 高斯消元
- OpenJudge 2811 熄灯问题 / Poj 1222 EXTENDED LIGHTS OUT
- 【POJ】1222 EXTENDED LIGHTS OUT
- poj1222 EXTENDED LIGHTS OUT
- poj 1222:EXTENDED LIGHTS OUT
- poj 1222 EXTENDED LIGHTS OUT //高斯消元
- poj 1222 EXTENDED LIGHTS OUT
- poj1222 EXTENDED LIGHTS OUT 高斯消元