profile
Размещено 5 лет назад по предмету Информатика от isabekov2005

Помогите решить на С++ или на Паскаль

ЗАДАЧА №924

Симпатичный узор
(Время: 1 сек. Память: 16 Мб Сложность: 20%)

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

Примеры возможных узоров:
Симпатичные узоры:
BWBW                 WBWW         BWWB
BBWB                  WWBW         WBWW
WWBB                 BWWW         WWBW
BWWW                WWBW         BWWB

Несимпатичные узоры:
BBWB           WWWW         BWWB
BBWB           WWWW         WBBW
WWBW         WWWW         WBBW
BBWB           WWWW         BWWB

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

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

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

Примеры
№ INPUT.TXT              OUTPUT.TXT
1 BWBW
   BBWB
   WWBB
   BWWW                      Yes

2 BBWB
   BBWB
   WWBW
   BBWB                         No

  1. Ответ на вопрос
    Ответ на вопрос дан Slavque
    Объясняю свой алгоритм решения данного задания.
    Берём и запихиваем все строки в двумерный чар массив.
    Потом построчно сравниваем i-j элемент столбца с i+1-j. Если это одинаковые символы - мы прибавляем к счётчику +1.
    Потом сравниваем i-j+1 и i+1-j+1, если они равны, то мы прибавляем +1 при условии того, что один из этих элементов равен одному из предыдущих
    Ну а потом если наш счётчик составляет 2 - мы уже знаем что этот узор не симпатичный.
    В противном же случае мы идём дальше до size-1. (в нашем случае size=4 поэтому 4-1=3)
    Скриншот с результатом работы, скоростью и самим кодом прикрепил.
    UPD:
    Ещё можешь уменьшить кол-во итераций, во втором цикле в условии можно сделать strlen(a[i])-1
Не тот ответ на вопрос, который вам нужен?
Найди верный ответ
Самые новые вопросы
tegysigalpa2012
Русский язык - 6 лет назад

Помогите решить тест по русскому языку тест по русскому языку «местоимение. разряды местоимений» для 6 класса 1. укажите личное местоимение: 1) некто 2) вас 3) ни с кем 4) собой 2. укажите относительное местоимение: 1) кто-либо 2) некоторый 3) кто 4) нам 3. укажите вопросительное местоимение: 1) кем-нибудь 2) кем 3) себе 4) никакой 4. укажите определительное местоимение: 1) наш 2) который 3) некий 4) каждый 5. укажите возвратное местоимение: 1) свой 2) чей 3) сам 4) себя 6. найдите указательное местоимение: 1) твой 2) какой 3) тот 4) их 7. найдите притяжательное местоимение: 1) самый 2) моего 3) иной 4) ничей 8. укажите неопределённое местоимение: 1) весь 2) какой-нибудь 3) любой 4) этот 9. укажите вопросительное местоимение: 1) сколько 2) кое-что 3) она 4) нами 10. в каком варианте ответа выделенное слово является притяжательным местоимением? 1) увидел их 2) её нет дома 3) её тетрадь 4) их не спросили

Информация

Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.