A72027. 快递无人机
编程题
入门
知识点
题目描述
Dr. X 制作了一台快递无人机,正在测试投送包裹。

投送的目标区域是一个圆形空地,它的边界在地图上用星号 * 标出。地图上的空白区域用半角点号 . 表示,每个包裹的落点用小写字母 o 标记。下图是一个例子:
........o
...***...
..*****..
..*...*..
..*.o.*..
..*...*..
..*****..
...***...
.........
上图中,* 围成的区域代表圆形空地。包裹 o 如果落在边界围成的区域内部,就是一次正确投送。Dr. X 想请你统计正确投送的包裹数量。包裹要么在圆内,要么在圆外,保证不会在圆形的边界上。
输入格式
输入第一行包含两个空格分隔的整数 n 和 m,表示地图的行数和列数。接下来 n 行,每行 m 个字符,描述整张地图。字符只包含 *(边界)、.(空白)和 o(包裹)。保证 * 恰好围成一个闭合的环形边界,且地图中至少有一个 o。
输出格式
输出一个整数,表示落在圆形区域内部的包裹数量。
输入输出样例
输入 #1
9 9 ........o ...***... ..*****.. ..*...*.. ..*.o.*.. ..*...*.. ..*****.. ...***... .........
输出 #1
1
输入 #2
12 13 ............. ....*******.. ...*.......*. ...*.......*. ...*..o....*. ...*.......*. ...*...o...*. ...*....o..*. ...*.......*. ....*******.. ..o.......... .o...........
输出 #2
3
说明/提示
- 对于 40\% 的数据,满足 n, m \leq 10。
- 对于 100\% 的数据,满足 3 \leq n, m \leq 50。