| Demidov Open IT Cup 2025 |
|---|
| Закончено |
Детские пазлы — развивающая игра для маленьких детей. В коробке на дне прикреплен рисунок, ребенку необходимо подставлять фрагменты к картинке, определять, где он располагается на поле, и прикреплять его к соседям. В результате сборки вся картинка будет покрыта, и сами фрагменты будут плотно прилегать к бортам коробки. Пазлы представляют собой прямоугольное поле $$$n$$$ на $$$m$$$, каждый фрагмент имеет $$$4$$$ стороны, при этом каждый пазл размещается в определенном пересечении столбца и строки поля. Фрагменты $$$a$$$, $$$b$$$ считаются соседними, если у них есть общая сторона. Фрагменты $$$a$$$, $$$b$$$ считаются скрепленными, если существует набор фрагментов, образующих непрерывную цепочку соседей, соединяющих $$$a$$$ и $$$b$$$. Фрагмент можно сдвинуть наверх, вниз, влево, вправо, если все скрепленные с ним пазлы тоже можно сдвинуть в этом же направлении и не покинуть поле коробки.
Перед сном Вероника случайно опрокинула коробку с пазлами на пол. Игорь смог найти часть фрагментов на полу и аккуратно расположить их внутри коробки по картинке. Игорь задался серьезным вопросом, можно ли какие-нибудь фрагменты в коробке сдвинуть?
В первой строке заданы два целых числа $$$n$$$, $$$m$$$ $$$(1\leq n,m\leq 10^3)$$$ — количество строк и столбцов в пазлах.
Далее заданы $$$n$$$ строк, в каждой из которых содержатся $$$m$$$ символов. Символ «*» означает, что Игорь нашел пазл и поместил его в нужное место, «.» – пазл не был найден на полу и Игорь будет его искать завтра утром.
Гарантируется что все строки состоят только из символов «*» и «.».
Выведите YES, если некоторые собранные Игорем фрагменты могут двигаться внутри коробки, в противном случае NO.
2 3.*.***
NO
2 3.*.**.
YES
В первом тесте все пазлы скреплены, движение в любом направлении ограничено бортиком коробки.
Во втором тесте все пазлы также скреплены, движение вправо возможно для всех пазлов одновременно.
| Название |
|---|


