Решение задачи №924 «Симпатичный узор» с ACMP





Решение задачи №924 «Симпатичный узор» с ACMP

Условие задачи

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

Примеры возможных узоров:

Симпатичный узор
По заданному расположению плиток в прихожей Ивана требуется определить: является ли выполненный узор симпатичным.

Входные данные
Входной файл INPUT.TXT содержит 4 строки по 4 символа «W» или «B» в каждой, описывающие узор из плиток. Символ «W» обозначает плитку белого цвета, а «B» - черного.

Выходные данные
В выходной файл OUTPUT.TXT выведите «Yes», если узор является симпатичным и «No» в противном случае.

#include<iostream>
using namespace std;
main ()
{
int i,j,k;
string s[4];
freopen("input.txt","r",stdin);
for(i=0;i<4;++i)cin>>s[i];
for(i=0;i<3;++i)
for(j=0;j<3;++j)
{k=0;
if (s[i][j]=='B')k++;
if (s[i][j+1]=='B')k++;
if (s[i+1][j]=='B')k++;
if (s[i+1][j+1]=='B')k++;
if(k==0||k==4){cout<<"No";return 0;}
}
cout<<"Yes";
}



Условия задач взяты с сайта acmp.ru