Решение задачи Симпатичный узор с Acmp

Без пояснения   Просмотров: 49


На днях Иван у себя в прихожей выложил кафель, состоящий из квадратных черных и белых плиток. Прихожая Ивана имеет квадратную форму 4х4, вмещающую 16 плиток. Теперь Иван переживает, что узор из плиток, который у него получился, может быть не симпатичным. С точки зрения дизайна симпатичным узором считается тот, который не содержит в себе квадрата 2х2, состоящего из плиток одного цвета.
По заданному расположению плиток в прихожей Ивана требуется определить: является ли выполненный узор симпатичным.


Код

#include <bits/stdc++.h>
 
using namespace std;
 
int main()
{
    string str,str1,str2,str3;
    cin >> str >> str1 >> str2 >> str3;
    if(str[0]==str[1] && str[0] == str1[0] && str[0] == str1[1]){
        cout <<"No";
        return 0;
    }
    if(str[1]==str[2] && str[1] == str1[1] && str[1] == str1[2]){
        cout <<"No";
        return 0;
    }
    if(str[2]==str[3] && str[2] == str1[2] && str[2] == str1[3]){
        cout <<"No";
        return 0;
    }
    if(str1[0]==str1[1] && str1[0] == str2[0] && str1[0] == str2[1]){
        cout <<"No";
        return 0;
    }
    if(str1[1]==str1[2] && str1[1] == str2[1] && str1[1] == str2[2]){
        cout <<"No";
        return 0;
    }
    if(str1[2]==str1[3] && str1[2] == str2[2] && str1[1] == str2[3]){
        cout <<"No";
        return 0;
    }
    if(str2[0]==str2[1] && str2[0] == str3[0] && str2[0] == str3[1]){
        cout <<"No";
        return 0;
    }
    if(str2[1]==str2[2] && str2[1] == str3[1] && str2[1] == str3[2]){
        cout <<"No";
        return 0;
    }
    if(str2[2]==str2[3] && str2[2] == str3[2] && str2[2] == str3[3]){
        cout <<"No";
        return 0;
    }
    cout << "Yes";
    return 0;
}

         

Администратор Photo Автор: Администратор



Комментарии

Чтобы написать комментарии вам нужно войти в систему или зарегистрироваться