SP15244 VPL2_AD - Davids Quest

题目描述

David正在玩扫雷游戏,他很想在比赛中打破自己的记录。实现这一目标的唯一方法是作弊!由于他点的很快(至少他相信是这样),他想知道为了解决这个难题必须点击多少次。 如果你从未玩过扫雷游戏,这里有一些基本规则。你将得到一个矩形的方格地图。在游戏开始时,所有方格都被隐藏。其中一些下面有地雷。你必须揭开所有没有地雷的方格(我们称之为安全方格)。如果你试图揭开一个地雷,游戏就结束了,你就输了。在安全方格里,会有一个数字帮助你。它表明8个相邻方格上隐藏了多少地雷(如果方格在边界上,地雷数会更少)。如此一来便会出现数字1到8,点击一下就可以发现。如果没有相邻的地雷,那么方格就是空的。此外,如果你打开空方格,则其所有相邻单元格将自动打开。这种效果也是递归的,因此如果有更多连接的空方格,只需点击一次即可揭开一大块。 David知道这个谜题的一切:地雷在哪里和所有格子上面的数字(如果有的话)。

输入格式

第一行包含一个整数 $T$,即测试数据的组数。下面是测试数据的描述。每组数据有两个数字 $N$ 和 $M$:表示矩形地图的高度和宽度。然后是 $N$ 行,每行有 $M$ 个字符。字符如下: “-”表示空单元格, “\*”表示地雷, “1”-“8”数字 $i$ 表示当前地雷附近有 $i$ 枚地雷。

输出格式

对于每组输入数据,输出一行字符串“Scenario#i:”,其中 $i$ 表示在第 $i$ 组输入数据(从1开始)中发现所有安全方格的最少点击次数。