Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- int n;
- char tabl[100][100];
- char tabl_prov[100][100];
- bool ans=false;
- int chislo(int i){
- char newprov[3][5]={ {tabl[i][0],tabl[i][1],tabl[i][2],tabl[i][3],tabl[i][4]},
- {tabl[i+1][0],tabl[i+1][1],tabl[i+1][2],tabl[i+1][3],tabl[i+1][4]},
- {tabl[i+2][0],tabl[i+2][1],tabl[i+2][2],tabl[i+2][3],tabl[i+2][4]}
- };
- if(newprov[0][0]=='#' && newprov[1][0]=='#' && newprov[2][0]=='#' &&
- newprov[0][1]=='#' && newprov[1][1]=='.' && newprov[2][1]=='#' &&
- newprov[0][2]=='#' && newprov[1][2]=='.' && newprov[2][2]=='#' &&
- newprov[0][3]=='#' && newprov[1][3]=='.' && newprov[2][3]=='#' &&
- newprov[0][4]=='#' && newprov[1][4]=='#' && newprov[2][4]=='#') return 0;
- if(newprov[0][0]=='.' && newprov[1][0]=='.' && newprov[2][0]=='#' &&
- newprov[0][1]=='.' && newprov[1][1]=='.' && newprov[2][1]=='#' &&
- newprov[0][2]=='.' && newprov[1][2]=='.' && newprov[2][2]=='#' &&
- newprov[0][3]=='.' && newprov[1][3]=='.' && newprov[2][3]=='#' &&
- newprov[0][4]=='.' && newprov[1][4]=='.' && newprov[2][4]=='#') return 1;
- if(newprov[0][0]=='#' && newprov[1][0]=='#' && newprov[2][0]=='#' &&
- newprov[0][1]=='.' && newprov[1][1]=='.' && newprov[2][1]=='#' &&
- newprov[0][2]=='#' && newprov[1][2]=='#' && newprov[2][2]=='#' &&
- newprov[0][3]=='#' && newprov[1][3]=='.' && newprov[2][3]=='.' &&
- newprov[0][4]=='#' && newprov[1][4]=='#' && newprov[2][4]=='#') return 2;
- if(newprov[0][0]=='#' && newprov[1][0]=='#' && newprov[2][0]=='#' &&
- newprov[0][1]=='.' && newprov[1][1]=='.' && newprov[2][1]=='#' &&
- newprov[0][2]=='#' && newprov[1][2]=='#' && newprov[2][2]=='#' &&
- newprov[0][3]=='.' && newprov[1][3]=='.' && newprov[2][3]=='#' &&
- newprov[0][4]=='#' && newprov[1][4]=='#' && newprov[2][4]=='#') return 3;
- if(newprov[0][0]=='#' && newprov[1][0]=='.' && newprov[2][0]=='#' &&
- newprov[0][1]=='#' && newprov[1][1]=='.' && newprov[2][1]=='#' &&
- newprov[0][2]=='#' && newprov[1][2]=='#' && newprov[2][2]=='#' &&
- newprov[0][3]=='.' && newprov[1][3]=='.' && newprov[2][3]=='#' &&
- newprov[0][4]=='.' && newprov[1][4]=='.' && newprov[2][4]=='#') return 4;
- if(newprov[0][0]=='#' && newprov[1][0]=='#' && newprov[2][0]=='#' &&
- newprov[0][1]=='#' && newprov[1][1]=='.' && newprov[2][1]=='.' &&
- newprov[0][2]=='#' && newprov[1][2]=='#' && newprov[2][2]=='#' &&
- newprov[0][3]=='.' && newprov[1][3]=='.' && newprov[2][3]=='#' &&
- newprov[0][4]=='#' && newprov[1][4]=='#' && newprov[2][4]=='#') return 5;
- if(newprov[0][0]=='#' && newprov[1][0]=='#' && newprov[2][0]=='#' &&
- newprov[0][1]=='#' && newprov[1][1]=='.' && newprov[2][1]=='.' &&
- newprov[0][2]=='#' && newprov[1][2]=='#' && newprov[2][2]=='#' &&
- newprov[0][3]=='#' && newprov[1][3]=='.' && newprov[2][3]=='#' &&
- newprov[0][4]=='#' && newprov[1][4]=='#' && newprov[2][4]=='#') return 6;
- if(newprov[0][0]=='#' && newprov[1][0]=='#' && newprov[2][0]=='#' &&
- newprov[0][1]=='.' && newprov[1][1]=='.' && newprov[2][1]=='#' &&
- newprov[0][2]=='.' && newprov[1][2]=='.' && newprov[2][2]=='#' &&
- newprov[0][3]=='.' && newprov[1][3]=='.' && newprov[2][3]=='#' &&
- newprov[0][4]=='.' && newprov[1][4]=='.' && newprov[2][4]=='#') return 7;
- if(newprov[0][0]=='#' && newprov[1][0]=='#' && newprov[2][0]=='#' &&
- newprov[0][1]=='#' && newprov[1][1]=='.' && newprov[2][1]=='#' &&
- newprov[0][2]=='#' && newprov[1][2]=='#' && newprov[2][2]=='#' &&
- newprov[0][3]=='#' && newprov[1][3]=='.' && newprov[2][3]=='#' &&
- newprov[0][4]=='#' && newprov[1][4]=='#' && newprov[2][4]=='#') return 8;
- if(newprov[0][0]=='#' && newprov[1][0]=='#' && newprov[2][0]=='#' &&
- newprov[0][1]=='#' && newprov[1][1]=='.' && newprov[2][1]=='#' &&
- newprov[0][2]=='#' && newprov[1][2]=='#' && newprov[2][2]=='#' &&
- newprov[0][3]=='.' && newprov[1][3]=='.' && newprov[2][3]=='#' &&
- newprov[0][4]=='#' && newprov[1][4]=='#' && newprov[2][4]=='#') return 9;
- return -1;
- }
- int main(){
- cin >> n;
- string str1,str2,str3,str4,str5;
- cin >> str1 >> str2 >> str3 >> str4 >> str5;
- if(str1.size()!=n*3+n-1 || str2.size()!=n*3+n-1 || str3.size()!=n*3+n-1 || str4.size()!=n*3+n-1 || str5.size()!=n*3+n-1){cout << "BROKEN";return 0;}
- for(int i=0;i<n*3+n-1;i++){
- tabl[i][0]=str1[i];
- tabl[i][1]=str2[i];
- tabl[i][2]=str3[i];
- tabl[i][3]=str4[i];
- tabl[i][4]=str5[i];
- }
- tabl[4*n-1][0]='.';
- tabl[4*n-1][1]='.';
- tabl[4*n-1][2]='.';
- tabl[4*n-1][3]='.';
- tabl[4*n-1][4]='.';
- for(int i=0;i<n*3+n-1;i=i+4){
- for(int j=0;j<5;j++){
- if(tabl[i+3][j]!='.'){cout << "BROKEN";return 0;}
- }
- if(i==0 && chislo(i)==0){cout << "BROKEN";return 0;}
- if(chislo(i)==-1){cout << "BROKEN";return 0;}
- if(chislo(i)!=8) ans=true;
- }
- if(ans==true) cout << "UNKNOWN";
- else cout << "UNBROKEN";
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement