#include<bits/stdc++.h>
using namespace std;
#define SET(a) memset(a,-1,sizeof(a))
#define CLR(a) memset(a,0,sizeof(a))
#define PI acos(-1.0)
#define MOD 1000000007
#define MX 100010
string tmp[12];
int lightSwitch(int n)
{
int cnt=0;
for(int i=0;i<10;i++)
if(n & (1<<i))
{
cnt++;
for(int j=max(i-1, 0);j<=min(i+1, 9);j++)
{
if(tmp[0][j]=='#') tmp[0][j]='O';
else tmp[0][j]='#';
}
if(tmp[1][i]=='#') tmp[1][i]='O';
else tmp[1][i]='#';
}
for(int i=1;i<10;i++)
{
for(int j=0;j<10;j++)
if(tmp[i-1][j]=='O')
{
cnt++;
tmp[i-1][j]=='#';
for(int k=max(j-1, 0);k<=min(j+1, 9);k++)
{
if(tmp[i][k]=='#') tmp[i][k]='O';
else tmp[i][k]='#';
}
if(i<9)
{
if(tmp[i+1][j]=='#') tmp[i+1][j]='O';
else tmp[i+1][j]='#';
}
}
}
bool chk=true;
for(int i=0;i<10;i++)
if(tmp[9][i]=='O')
chk=false;
if(!chk) cnt=1e9;
return cnt;
}
int main()
{
ios_base::sync_with_stdio(0);cin.tie(0);
int n, tc, kk=1;
string s, ss[12];
while(cin>>s && s!="end")
{
for(int i=0;i<10;i++)
cin>>ss[i];
int mn=1e9;
for(int i=0;i<1024;i++)
{
for(int j=0;j<10;j++)
tmp[j]=ss[j];
int mnn=lightSwitch(i);
mn=min(mn, mnn);
}
if(mn>100) mn=-1;
cout<<s<<" "<<mn<<"\n";
}
return 0;
}
No comments:
Post a Comment