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

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

新管道的工作已经开始,但发现恶意黑客掌握了该计划,并从该计划中删除了一个构建块,即用一个空单元替换它。
编写一个程序,确定从何处删除块以及块的类型。
### 输入格式:
第一行包含两个整数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 |
答案:若无答案欢迎评论

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

新管道的工作已经开始,但发现恶意黑客掌握了该计划,并从该计划中删除了一个构建块,即用一个空单元替换它。
编写一个程序,确定从何处删除块以及块的类型。
### 输入格式:
第一行包含两个整数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 |
答案:若无答案欢迎评论