Поиск

Том и Джери


Том и Джерри
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

В этой задаче мы снова возвращаемся в младшую группу детского сада «Телепузики». Чтобы окончательно успокоить детей, воспитательница решила включить им мультик про Тома и Джерри. Серия, которую сейчас смотрят дети, довольно-таки незамысловата — в ней Джерри развесил по потолку комнаты наковальни на веревках. Когда Том оказывается под очередной наковальней, Джерри перерезает веревку. Наковальня падает на Тома, Тому больно, всем остальным весело, дети смеются. В общем, вполне обычная серия.

А вам нужно по кадру из этой серии определить, упадет ли наковальня на Тома, если Джерри перережет веревку.

Входные данные

Вам дана ASCII-арт картинка, то есть картинка, нарисованная символами. На ней есть наковальня, привязанная веревкой к потолку, и кот Том. В первой строке даны числа $$$N$$$, $$$M$$$ ($$$4 \leqslant N \leqslant 100$$$, $$$1 \leqslant M \leqslant 100$$$). Следующие $$$N$$$ строк состоят из $$$M$$$ символов каждая, и представляют собой саму картинку. Картинка устроена следующим образом:

  • Первые $$$K_1$$$ строк в одной и той же позиции $$$X_1$$$ стоит символ «|», в остальных — пробел. Это веревка.
  • Следующие $$$K_2$$$ строк в одних и тех же позициях с $$$X_2$$$ по $$$X_3$$$ стоит символ «#», в остальных — пробел. Это наковальня.
  • $$$2 \times X_1 = X_2 + X_3$$$, то есть наковальня подвешена за середину.
  • Следующие $$$K_3$$$ строк содержат только пробелы. Это пустота между наковальней и котом.
  • Следующие $$$N - K_1 - K_2 - K_3$$$ строк содержат произвольные символы. Любой символ, кроме пробела — часть кота. Существует хотя бы один непробельный символ.
Числа $$$K_1$$$, $$$K_2$$$, $$$K_3$$$ и $$$N - K_1 - K_2 - K_3$$$ ненулевые.

Выходные данные

Выведите «YES», если при падении наковальня заденет Тома, в противном случае выведите «NO».

Примеры

Входные данные
13 29
          |                  
          |                  
          |                  
    #############            
    #############            
    #############            
                             
                             
            /\_/\            
            >^.^<.---.       
           _'-`-'     )\     
          (6--\ |--\ (`.`-.  
              --'  --'  ``-' 
Выходные данные
YES
Входные данные
16 30
    |                         
 #######                      
 #######                      
 #######                      
 #######                      
                              
            ,                 
           \)\_               
          /    '. .---._      
        =P ^     `      '.    
         `--.       /     \   
         .-'(       \      |  
        (.-'   )-..__>   , ;  
        (_.--``    (__.-/ /   
                .-.__.-'.'    
                 '-...-'      
Выходные данные
NO

Tutorials

Найдём горизонтальные размеры наковальни. Для этого возьмём первую строку, в которой встречается символ «#» и найдём позиции первого и последнего вхождения в неё этого символа.

Найдём первую строку, состоящую только из пробелов. Все непробельные символы, которые есть ниже её – часть Тома.

Переберём все строки ниже неё, в каждой переберём все символы. Если символ непробельный и его позиция лежит между границами наковальни, значит при падении наковальня заденет Тома.

Если таких индексов нет, то не заденет.


Для отправки решения задачи необходимо авторизоваться!