-->
当前位置:首页 > 题库 > 正文内容

编程题:DFS

Luz3年前 (2022-09-06)题库311
为了帮助设计将用于向克罗地亚输送俄罗斯天然气的新天然气管道,萨格勒布和莫斯科正在使用电脑游戏Pipe Mania。在游戏中,欧洲分为R行和C列。每个单元可以是空的,也可以包含七个基本管道构建块中的一个:

![阿萨大大.png](~/45bf0087-9ea1-4604-b823-cc5d4bbbb14e.png)

天然气从莫斯科流向萨格勒布。气体可以沿任意方向流过建筑砌块。方框“+”的特殊之处在于,气体必须沿两个方向流动(一个垂直,一个水平),如以下示例所示:

![dsa的阿松大.png](~/1c749831-0e74-45a6-92e0-74c8874aebec.png)

新管道的工作已经开始,但发现恶意黑客掌握了该计划,并从该计划中删除了一个构建块,即用一个空单元替换它。

编写一个程序,确定从何处删除块以及块的类型。

### 输入格式:
第一行包含两个整数R和C,即欧洲的维度(1≤R、C≤25)。

下面的R行包含计划,每行完全由C字符组成。这些角色是:

•句号('.'),代表一个空单元格;
•代表构建块类型的字符“|”(ASCII 124)、“-”、“+”、“1”、“2”、“3”、“4”;
•字母“M”和“Z”,代表莫斯科和萨格勒布。每一个都会在计划中出现一次。

气体流量将在输入中唯一确定;莫斯科和萨格勒布各有一个建筑单元。此外,该计划将不会有冗余块,即计划中的所有块必须在添加缺失块后使用。输入将确保解决方案的存在和唯一性。

### 输出格式:

输出已擦除块的行和列,以及块的类型(输入中的七个字符之一)。

### 输入样例1:
in
3 7
.......
.M-.-Z.
.......


### 输出样例1:
out
2 4 -


### 输入样例2:
in
3 5
..1-M
1-+..
Z.23.


### 输出样例2:
out
2 4 4


### 输入样例3:
in
6 10
Z.1----4..
|.|....|..
|..14..M..
2-+++4....
..2323....
..........


### 输出样例3:
out
3 3 |








答案:若无答案欢迎评论

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。