Codeforces Round 514 (Div. 2) |
---|
Закончено |
Студент Андрей весь семестр пропускал физкультуру в своем университете, и вот теперь настала пора получать по ней зачет. Разумеется, получить зачет честно Андрей не успевает, но он не сдается. Добыв в местной поликлинике пустой бланк справки, Андрей, зная почерк местного врача, решил подделать справку о болезни. И вот, когда большая часть уже написана, Андрей с ужасом понял, что подпись врача подделать невозможно. Или возможно?
Для удобства Андрей мысленно представил подпись как клетчатое поле $$$n\times m$$$, где каждая клетка либо заполнена чернилами, либо пуста. Ручка Андрея заполняет чернилами квадрат $$$3\times3$$$ без центральной клетки, если он полностью лежит внутри поля, как показано ниже.
xxx
x.x
xxx
Определите, может ли Андрей нарисовать подпись врача на пустом листе бумаги $$$n\times m$$$.
В первой строке даны 2 целых числа $$$n$$$ и $$$m$$$ ($$$3 \le n, m \le 1000$$$).
Далее следуют $$$n$$$ строк по $$$m$$$ символов в каждой. Каждый из символов — либо «.», обозначающий пустую клетку, либо «#», обозначающий клетку с чернилами.
Если Андрей может подделать подпись, выведите «YES». Иначе выведите «NO».
Вы можете выводить каждую из букв в любом регистре (строчную или заглавную).
3 3
###
#.#
###
YES
3 3
###
###
###
NO
4 3
###
###
###
###
YES
5 7
.......
.#####.
.#.#.#.
.#####.
.......
YES
В первом примере Андрей может покрасить границу квадрата с центром в $$$(2, 2)$$$.
Во втором примере подпись невозможно подделать.
В третьем примере Андрей может покрасить границы квадратов с центрами в $$$(2, 2)$$$ и $$$(3, 2)$$$:
...
...
...
...
###
#.#
###
...
###
###
###
###
В четвёртом примере Андрей может покрасить границы квадратов с центрами в $$$(3, 3)$$$ и $$$(3, 5)$$$.
Название |
---|