Lang:G++
Edit12345678910111213141516171819202122232425262728293031#include <cstdio>inline bool yes(int x,int y){if(x<0||x>=5||y<0||y>=6) return false;return true;}int main(){//freopen("in.txt","r",stdin);char t;int i,j,s=0,ts,op,top;for(i=0;i<5;i++)for(j=0;(t=getchar())!='\n';j++) if(t=='0')s|=1<<(i*6+j);for(op=0;op<64;op++){top=op;ts=s;for(i=0;i<6;i++) if((1<<i)&top){ts^=(1<<i);if(yes(0,i+1)) ts^=1<<(i+1);if(yes(0,i-1)) ts^=1<<(i-1);ts^=1<<(i+6);}for(i=1;i<5;i++)for(j=0;j<6;j++) if((1<<((i-1)*6+j))&ts){top|=1<<(i*6+j);ts^=1<<(i*6+j);if(yes(i+1,j)) ts^=1<<((i+1)*6+j);if(yes(i-1,j)) ts^=1<<((i-1)*6+j);if(yes(i,j+1)) ts^=1<<(i*6+j+1);if(yes(i,j-1)) ts^=1<<(i*6+j-1);