eolymp
bolt
Try our new interface for solving problems
Məsələlər

Левая кнопка мыши

Левая кнопка мыши

Минер является довольно популярной игрой в операционной системе Windows. Цель игры заключается в поиске мин и маркировании их положения. Вы размещате щелчком правой кнопки мыши небольшой флаг в клетке, в котрой по Вашему мнению расположена мина. Щелчком левой кнопки мыши можно открыть клетку, в которой по Вашему мнению мины нет. Если в этом квадрате все-таки расположена мина, то она взрывается и Вы проигрываете. В противном случае есть два варианта. В первом случае открывается число от \textbf{1} до \textbf{8}, показывающее суммарное количество мин, окружающих данную клетку. Например, если Вы нажали левую кнопку мыши и в квадрате высветилось число \textbf{8}, то это означает, что данная клетка окружена \textbf{8} клетками с минами, т.е все \textbf{8} соседних клеток содержат мины. Во втором случае, если вокруг этой клетки нет соседних мин, то кроме этой клетки открываются и все соседние. Если в каких-то из соседних клеток также нет окружающих мин, то процесс открытия соседних клеток продолжается. То есть фактически компьютер помогает Вам открыть все свободные от мин соседние клетки. Цель игры состоит в открыти всех свободных от мин клеток. Том очень увлеается этой игрой, но к сожалению его правая кнопка мыши повреждена и он может пользоваться только левой кнопкой мыши. Для того чтобы избежать возможного дальнейшего повреждения мыши он хочет закончить игру нажав на левую кнопку мыши минимальное количество раз. Зная начальное положение в игре Вам необходимо определить это самое минимальное количество нажатий левой кнопкой мыши. \includegraphics{https://static.e-olymp.com/content/d6/d634f87a247208310f87067adb84df3e8659cac6.jpg} \InputFile Первая строка содержит целое число, указывающее количество тестовых случаев \textbf{T} (\textbf{T} ≤ \textbf{12}). Каждый тестовый случай начинается строкой, содержащей целое число \textbf{n} (\textbf{5} ≤ \textbf{n} ≤ \textbf{9}) - размер минного поля \textbf{n}×\textbf{n}. Каждая из последующих \textbf{n} строк содержит по \textbf{n} символов M_\{ij \}(\textbf{1} ≤ \textbf{i}, \textbf{j} ≤ \textbf{n}), \textbf{M_ij} обозначает текущий статус клетки в строке \textbf{i} и столбце \textbf{j}, где '\textbf{@}' обозначает мину, '\textbf{0}-\textbf{8}' обознают сумарные количества мин в прилегающих клетках, цифрой '\textbf{0}' обозначены клетки, по соседству с которыми мин нет. Гарантируется, что все положения корректны. \OutputFile Для каждого тестового случая в отдельной строке вывести сообщение о номере теста (начиная с \textbf{1}) и далее минимальное количество нажатий левой кнопки мыши (см. пример выходных данных).
Zaman məhdudiyyəti 1 saniyə
Yaddaşı istafadə məhdudiyyəti 64 MiB
Giriş verilənləri #1
1
9
001@11@10
001111110
001111110
001@22@10
0012@2110
221222011
@@11@112@
2211111@2
000000111
Çıxış verilənləri #1
Case 1: 24