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

编程题:暴力枚举

Luz4年前 (2022-09-05)题库239
米尔科一直在学习开车,但他仍然不能在狭窄的街道上掉头。这就是为什么他决定去一个到处都禁止掉头的城镇练习。该禁令可通过以下标志进行标记:

![图片1.png](~/c7f95449-d8c6-4d6c-866a-a27a5c2f8bc2.png)

米尔科很快就意识到,他理想中的小镇不能有死胡同,因为不掉头就不可能离开这样一条街道(假设米尔科也不能倒车)。编写一个程序来分析城镇地图,并确定该城镇是否适合$$Mirko$$(即该城镇是否有任何死胡同)。

城镇地图是一个带有$$RxC$$单元的表格,其中每个单元是一个建筑段(用$$x$$表示)或一个路面(用点表示)。$$Mirko$$可以从路面单元移动到周围四个单元(上、下、左或右)中的任何一个,前提是它也是路面(即不是建筑)。

从形式上讲,如果从任何路面单元开始,沿着任何可能的方向,我们可以返回起始单元而不必$$180$$度转弯(将我们的方向更改为相反的方向),我们将确定一个城镇没有死胡同。

### 输入格式:

第一行输入包含正整数$$R$$和$$C(3≤R、C≤10)$$,表示城镇的规模。

接下来的每一行都包含$$C$$字符,每个字符可以是“$$X$$”或“$$.$$”。这些$$R x C$$字符代表上文所述的城镇地图。至少两个单元为路面,所有路面将连接(即相互可达)。

### 输出格式:

如果城镇没有死胡同,输出的第一行也是唯一一行必须包含$$0$$,否则必须包含$$1$$。

### 输入样例1:

in
4 3
XXX
X.X
X.X
XXX


### 输出样例1:

out
1


### 输入样例2:

in
5 5
XX.XX
X...X
.....
X...X
XX.XX


### 输出样例2:

out
1


### 输入样例3:

in
3 9
...XXX...
.X.....X.
...XXX...


### 输出样例3:

out
0








答案:若无答案欢迎评论