printРабочее место участника

printЗадачи

1502. Загрузка реактора

Ограничения: время – 200ms/500ms, память – 64MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод copy
Послать решение Blockly Посылки Темы Где Обсудить (2) idea

Реактор электростанции представляет собой куб размером `N\ times\ N\ times\ N`, в который загружаются блоки урана размером `1\ times\ 1\ times\ 1`. Для определения количества блоков, находящихся в реакторе, Карл использует специальный прибор, делающий снимки горячей зоны реактора спереди, справа и сверху. Прибор не может показать точное количество блоков в ряду из `N` позиций, а только определяет наличие или отсутствие блоков в этом ряду.
Напишите программу, которая по снимкам прибора определяет максимальное количество урановых блоков в реакторе.
Первая строка ввода содержит число `N` (`1\ ≤\ N\ ≤\ 20`) – размеры реактора. Далее следует `3*N` строк по `N` символов – три снимка реактора размером `N\ times\ N` спереди, справа и сверху. Символ '.' означает отсутствие блоков в данном ряду, а символ '#' – наличие хотя бы одного блока.
Вывести одно целое число – максимально возможное количество блоков, находящихся в реакторе. Если в снимках есть противоречия и они не могут соответствовать какому-либо расположению блоков, то вывести число `-1`.
12197.png

Пример ввода 1

2
#.
##
.#
##
##
#.

Пример вывода 1

4

Пример ввода 2

1
#
.
.

Пример вывода 2

-1

Пример ввода 3

3
...
.#.
...
...
.#.
...
...
.#.
...

Пример вывода 3

1
loading