АВТ
Язык:

Дистанционный практикум по программированию

Задачи Online статус Соревнования
Новости Справка СДО
 
Здравствуйте, Гость! Войдите с паролем или зарегистрируйтесь.

1848. Miner

Ограничение времени: 1 сек.
Ограничение памяти:1048576 КБайт
Баллы:100
Статистика Послать на проверку Задачу добавил debug

Маленькая девочка Виолетта уже несколько месяцев ходит на кружок по программированию. Недавно она решила, что, как и любой другой программист, она обязательно должна написать игру. В результате ночи разработки к утру получилась игра, которую Виолетта назвала «Miner».

Правила игры довольно просты. Цель игры – поиск мин на двухмерном квадратном поле. Нажав на любой клетке поля правую кнопку мышки, вы размещаете в этой клетке флажок, означающий, что, по вашему мнению, в этой клетке поля находится мина. Нажав левую кнопку мышки, можно открыть клетку, в которой (по вашему мнению) мины нет. Если в этой клетке была мина, то вы проигрываете. В противном случае в клетке либо отображается число от 1 до 8, показывающее, сколько мин находится вокруг данной клетки, либо, если вокруг данной клетки мин нет, открывается не только данная клетка, но и все ещё не открытые соседние. Если среди открывшихся клеток также есть такие, вокруг которых нет ни одной мины, то открываются и все их соседние свободные клетки, и так далее. Цель игры – открыть все свободные клетки поля.

Уже утром Виолетта обнаружила две досадные проблемы. Во-первых, оказывается, очень похожую игру уже написали до нее ;-) А во-вторых, она сама с трудом в неё выигрывает. Подумав, Виолетта решила упростить правила. В новой версии игры положение всех мин известно заранее, а цель игры – открыть все остальные клетки поля, выполнив при этом как можно меньше нажатий левой кнопки мышки.

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

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

Первая строка входных данных содержит натуральное число N (5 ≤ N ≤ 1000) – размер поля. Каждая из последующих N строк содержит по N символов, обозначающих статус клетки. Символ '@' обозначает мину, символ '.' – отсутствие мины.

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

Выведите одно число – минимальное число нажатий левой кнопки мышки

Пример

Входные данные
9
...@..@..
.........
.........
...@..@..
....@....
.........
@@..@...@
.......@.
.........
Выходные данные
24

Условия всех задач турнира (pdf)


Статистика Послать на проверку Обсуждение задачи Автор/источник:
Задачи с соревнований и сборов / Межвузовские олимпиады / XXI межвузовская олимпиада - 2018 /
1847. B - Массивы 1848. 1849. D - Криптография 1850. E - Обработка видео 1851. F - Треугольник Паскаля
 
время генерации 0.109 сек.
© Copyright ВоГУ, АВТ, Носов Д.А., Андрианов И.А.