Codeforces Round 228 (Div. 2) |
---|
Закончено |
У лисы Сиель есть доска, расчерченная на n рядов и n колонок. Таким образом, доска состоит из n × n ячеек. Каждая ячейка содержит либо символ '.', либо символ '#'.
Крест на доске — это связное множество из ровно пяти клеток доски, которое выглядит как крест. Рисунок ниже показывает, как выглядит крест.
Сиель хочет нарисовать несколько (возможно, ноль) крестов на доске. Каждый крест должен состоять ровно из пяти клеток с символами '#', и каждая клетка с символом '#' должна принадлежать некоторому кресту. Ни одна клетка не может принадлежать двум крестам.
Пожалуйста, подскажите Сиель, может ли она нарисовать на доске кресты описанным способом.
В первой строке записано целое число n (3 ≤ n ≤ 100) — размер доски.
В каждой из следующих n строк содержится описание одного ряда доски. В i-ой строке записано описание i-ого ряда доски, состоящее из n символов. Каждый из них — это либо символ '.', либо символ '#'.
Выведите единственную строку, содержащую слово "YES", если Сиель может нарисовать кресты так, как описано выше. В противном случае, выведите единственную строку, содержащую слово "NO".
5
.#...
####.
.####
...#.
.....
YES
4
####
####
####
####
NO
6
.#....
####..
.####.
.#.##.
######
.#..#.
YES
6
.#..#.
######
.####.
.####.
######
.#..#.
NO
3
...
...
...
YES
В первом примере можно нарисовать два креста. Рисунок ниже показывает, как они выглядят.
Во втором примере доска содержит 16 клеток с '#', но каждому кресту требуется 5 клеток. Так как 16 не кратно 5, лиса не сможет покрыть крестами все помеченные символом '#' клетки.
Название |
---|