1 solutions
-
0
#include<bits/stdc++.h> using namespace std; int a[7][7]; void push(int i,int j) { a[i][j]=1- a[i][j]; a[i][j+1]=1- a[i][j+1]; a[i][j-1]=1- a[i][j-1]; a[i+1][j]=1- a[i+1][j]; a[i-1][j]=1- a[i-1][j]; } int kaobei[7][7]; int main() { int n ; cin>>n; int zongshu=0; while(n--) { char aa[6]; for(int i=1; i<=5; i++) { cin>>aa; for(int j=1; j<=5; j++) { kaobei[i][j]=aa[j-1]-'0'; } } for(int i=1; i<=5; i++) { for(int j=1; j<=5; j++) { a[i][j]=kaobei[i][j]; } } int counter=0; // cout<<"aaa"<<endl; int minv=50; for(int i=1; i<=32; i++) { for(int ii=1; ii<=5; ii++) { for(int ji=1; ji<=5; ji++) { a[ii][ji]=kaobei[ii][ji]; } } counter=0; // cout<<i<<endl; for(int j=0; j<=4; j++) { if((i>>j)&1) { push(1,j+1); counter++; } } // cout<<endl; /* for(int ii=1;ii<=4;ii++) { for(int jj=1;jj<=5;jj++) { cout<<a[ii][jj]; } cout<<endl; } */ for(int ii=1; ii<=4; ii++) { for(int jj=1; jj<=5; jj++) { if(a[ii][jj]==0) { push(ii+1,jj); counter++; } } } // cout<<counter<<endl; for(int ii=1; ii<=5; ii++) { if(a[5][ii]==0) { counter=80; } } if(counter<=6) minv=min(counter,minv); } if(minv<=6) { cout<<minv<<endl; } else { cout<<-1<<endl; } } }
- 1
Information
- ID
- 1375
- Time
- 1000ms
- Memory
- 256MiB
- Difficulty
- (None)
- Tags
- (None)
- # Submissions
- 0
- Accepted
- 0
- Uploaded By