Logo HelloWorld信息学奥赛题库

少儿编程

时间限制:1 s 空间限制:512 MB
Statistics

题目描述

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

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

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

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

输入格式

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

输出格式

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

输入输出样例 #1

输入 #1

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

输出 #1

1

输入输出样例 #2

输入 #2

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

输出 #2

3

说明/提示

数据规模

  • 对于 $40\%$ 的数据,满足 $n, m \le 10$。
  • 对于 $100\%$ 的数据,满足 $3 \le n, m \le 50$。