#D1017. 海盗队长信奥怪猫侠1

海盗队长信奥怪猫侠1

题目背景

2024年1月19日广附紫兰信奥队的集训教室突然来了一只漂亮的猫咪,不知何故这只猫咪的一只眼睛受到了非常严重的伤害。信奥队的同学们都非常担心这只可怜的猫咪,有的同学从家里拿了猫粮给它吃,我们善良美丽的吴老师专门带着这只可怜的流浪猫咪去宠物医院帮它治疗眼睛。猫咪也很乖,我们在上课的时候,它就乖乖的呆在电脑桌下面,慢慢的这只独眼猫咪跟着D老师也学会了神奇的信奥算法,并在信奥届所向披靡,成为我们紫兰信奥队的海盗队长信奥怪猫侠。从此信奥的江湖就有了猫哥的传说......

image image

题目描述

某天校园里出现了一只老鼠,我们需要帮助这只独眼海盗队长信奥怪猫侠去抓住这只老鼠,现给定一张nnn*n格的地图表示校园,地图由'#','*','.' 组成,'#'表示围墙,'*'表示我们信奥队的一位同学所在位置,'.'表示独眼海盗队长信奥怪侠猫无法逾越的障碍物。信奥队员为了能帮助猫咪需要先清除这些障碍物,但是每位同学目前信奥魔力值还不够,所以同学们清理障碍物的时候就像大家做信奥题一样暂时还不会拐弯,也就是他们只能清理他所在格子的上下左右四个直线方向的障碍物,而且直到遇到墙壁就停止。图中所有被清除完障碍物后的地方,包括信奥队员所在的位置,海盗队长信奥怪猫侠都是可以自由行走巡逻的。

请你计算一下图中障碍物被清除后,海盗队长信奥怪猫侠可以自由巡逻的格子数。

比如下面的这个地图中有两位信奥队员,用 o 描述了样例 1 的地图中被清楚掉障碍物的地方。

..o..o
#o*ooo
..o..o
..#..o
.#ooo*
.....o

输入格式

第一行一个整数 nn

接下来 nn 行,每行 nn 个字符,含义为题目所述。

输出格式

一行一个整数,表示猫可以巡逻的多少个位置。

输入数据 1

6
......
#.*...
......
..#...
.#...*
......

输出数据 1

15

输入数据 2

6
......
......
......
......
......
......

输出数据 2

0

输入数据 3

6
*#....
#.....
...#..
..#*#.
......
...#..

输出数据 3

3

数据规模与约定

对于 100%100\% 的数据,1n301 \le n \le 30

  • 子任务 1(30 分):保证地图中没有墙,且仅有一位同学
  • 子任务 2(30 分):保证地图中没有墙
  • 子任务 3(40 分):没有特殊限制