-->
当前位置:首页 > 题库

编程题:暴力枚举

Luz4年前 (2022-09-05)题库292
说到有轨电车,很多人都是文明的个体,他们知道如何在一辆电车里表现。然而,总有那么几个人在发现一个座位后会以超音速向它跑去。如果他们发现不止一个地方,他们总是先尝试最近的一个。

当两个或更多这样的人瞄准同一个地点时,就会出现问题。如果其中一个是最近的,他或她会坐着,其他人不会试图移入,而是将注意力转向下一个最近的位置。然而,如果他们都一样接近,他们都会跑到座位上,导致大规模爆炸,通常以他们和座位的完全破坏而告终。

你会看到一辆电车的描述。它表示为一个包含R行和C列的表。粗鲁的乘客被标上字母“X”。空座位标有“L”,电车地板标有“.”。

请注意,尽管还有其他乘客,但这些白痴投射的力量足以让他们穿过。

两个细胞之间的距离是其中心之间的欧几里德距离。编写一个程序,确定在所有人就座、被毁或椅子用完之前发生的爆炸次数。

### 输入格式:
第一行输入包含两个整数R(1≤R≤100)和C(1≤C≤100),表示行数和列数。

接下来的R行各包含C字符。“,”“X”或“L”。输入中始终至少有一个字符“X”和至少一个字符“L”。此外,不会有两个“L”字符,使得它们与某个“X”的距离相等。

### 输出格式:
第一行也是唯一一行输入应该包含给定布局的爆炸次数

### 输入样例1:
in
4 4
.LX.
.X..
....
.L..


### 输出样例1:
out
1


### 输入样例2:
in
4 4
.XLX
.X..
...L
.X..


### 输出样例2:
out
2


### 输入样例3:
in
7 7
...X.X.
XL....L
.......
...L...
.....XL
.......
...X...


### 输出样例3:
out
1









答案:若无答案欢迎评论