POJ 1222 EXTENDED LIGHTS OUT
2014-10-20 21:00
225 查看
#include <iostream> #include <cstdio> #include <cstdlib> #include <cstring> using namespace std; bool map[10][10]; bool press[10][10]; int add4(int x,int y) { int s=map[x][y]+press[x][y]+press[x-1][y]+press[x][y-1]+press[x][y+1]; return s; } void create(int i,int j,int k,int x,int y,int z) { int m,n; press[1][1]=i;press[1][2]=j;press[1][3]=k; press[1][4]=x;press[1][5]=y;press[1][6]=z; for(m=2;m<=5;m++) for(n=1;n<=6;n++) press[m] =add4(m-1,n)%2; } bool Check() { for(int i=1;i<=6;i++) if(add4(5,i)%2!=0) return 0; return 1; } int main () { int t,cas,i,j,k,x,y,z,m,n; cin>>t; for(cas=1;cas<=t;cas++) { for(i=1;i<=5;i++) for(j=1;j<=6;j++) cin>>map[i][j]; for(i=0;i<8;i++) { map[0][i]=0;map[6][i]=0;map[i][0]=0;map[i][7]=0; } for(i=0;i<2;i++) for(j=0;j<2;j++) for(k=0;k<2;k++) for(x=0;x<2;x++) for(y=0;y<2;y++) for(z=0;z<2;z++) { create(i,j,k,x,y,z); if(Check()) { cout<<"PUZZLE #"<<cas<<endl; for(m=1;m<=5;m++) { for(n=1;n<=6;n++) cout<<press[m] <<" "; cout<<endl; } break; } } } return 0; }
相关文章推荐
- [高斯消元] poj 1222 EXTENDED LIGHTS OUT
- 【POJ】1222 EXTENDED LIGHTS OUT
- POJ 1222 EXTENDED LIGHTS OUT
- 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
- 【POJ 1222】EXTENDED LIGHTS OUT
- POJ 1222 EXTENDED LIGHTS OUT 高斯消元?暴力枚举!
- OpenJudge 2811 熄灯问题 / Poj 1222 EXTENDED LIGHTS OUT
- Poj1222 EXTENDED LIGHTS OUT
- poj 1222 EXTENDED LIGHTS OUT
- poj 1222 Extended lights out (emulator)
- POJ1222_EXTENDED LIGHTS OUT
- Poj 1222 EXTENDED LIGHTS OUT
- POJ 1222 EXTENDED LIGHTS OUT 高斯消元
- poj-1222-EXTENDED LIGHTS OUT && poj-1681-Painter's Problem
- POJ 1222 EXTENDED LIGHTS OUT 高斯消元