6173 - 快递无人机

题目描述

Dr. X 制作了一台快递无人机,正在测试投送包裹。

投送的目标区域是一个圆形空地,它的边界在地图上用星号 * 标出。地图上的空白区域用半角点号 . 表示,每个包裹的落点用小写字母 o 标记。下图是一个例子:

........o
...***...
..*****..
..*...*..
..*.o.*..
..*...*..
..*****..
...***...
.........

上图中,* 围成的区域代表圆形空地。包裹 o 如果落在边界围成的区域内部,就是一次正确投送。Dr. X 想请你统计正确投送的包裹数量。包裹要么在圆内,要么在圆外,保证不会在圆形的边界上。

输入

输入第一行包含两个空格分隔的整数 nm,表示地图的行数和列数。接下来 n 行,每行 m 个字符,描述整张地图。字符只包含 *(边界)、.(空白)和 o(包裹)。保证 * 恰好围成一个闭合的环形边界,且地图中至少有一个 o

输出

输出一个整数,表示落在圆形区域内部的包裹数量。

样例

输入

9 9
........o
...***...
..*****..
..*...*..
..*.o.*..
..*...*..
..*****..
...***...
.........

输出

1

输入

12 13
.............
....*******..
...*.......*.
...*.......*.
...*..o....*.
...*.......*.
...*...o...*.
...*....o..*.
...*.......*.
....*******..
..o..........
.o...........

输出

3
说明
  • 对于 40\% 的数据,满足 n, m \leq 10
  • 对于 100\% 的数据,满足 3 \leq n, m \leq 50
来源

2026年江苏省"信息与未来"小学生编程

标签
题目参数
时间限制 1 秒
内存限制 510 MB
提交次数 12
通过人数 9
金币数量 1 枚
难度 入门


上一题 下一题