#P2357. Labyrinth
Labyrinth
题目描述
迷宫的管理部门决定在新赛季开始时使用新的墙纸。为此,他们需要一个程序来计算迷宫内墙壁的表面积。这项任务就交给你了!
迷宫由一个 的矩阵表示(,你看,‘’是一个神奇的数字!)。矩阵中的某些单元格包含点字符(),表示一个空的正方形。其他单元格包含井号字符('#'),表示由巨石块填充的墙壁正方形。所有正方形的尺寸相同,均为 平方米。
墙壁围绕迷宫构建(除了左上角和右下角的入口处),并在包含井号字符的单元格上构建。不构建其他墙壁。输入矩阵的左上角和右下角单元格始终是点字符。
你的任务是计算迷宫内墙壁可见部分的表面积。换句话说,就是迷宫访客可见的墙壁表面的总面积。注意,任何两个相邻的墙壁块之间没有孔洞可以窥视或穿过。如果两个墙壁块在任何角落接触,则认为它们是相邻的。所有墙壁的高度均为 米。
输入格式
输入的第一行包含一个数字 。接下来的 行每行包含 个字符。每行描述迷宫矩阵的一行。每行中仅使用点字符和井号字符,并且每行以换行符结束。输入中不会出现空格。
输出格式
你的程序应输出一个整数——所需墙纸的精确表面积值。
示例输入 1
5
.....
...##
..#..
..###
.....
示例输出 1
198
来源
年乌拉尔大学生程序设计竞赛