Dada uma lista de caminhos, produza o caminho correto.
Exemplo de caminho:
/\
----+/
|
-
e|
são caminhos horizontais e verticais./
e\
são curvas de 90 °.+
é tratado como um-
ou|
dependendo da direção atual.
Os caminhos podem seguir qualquer direção e um caractere pode ser usado em vários caminhos.
A entrada será assim:
/--\
A------+--+--#
B------/ \--:
C------------#
D------------#
A
,B
,C
ED
são caminho começa#
é uma parede (o caminho é ruim):
é o fim (o caminho está correto)
Então aqui a saída será B
.
Você pode assumir:
:
e#
sempre será alcançado a partir da esquerda.- O personagem à direita do início de um caminho sempre será
-
. - Os caminhos sempre serão bem formados.
#
e:
sempre estará na mesma coluna.- Sempre haverá apenas um
:
e quatro caminhos.
Casos de teste
A------#
B------#
C------#
D------:
=>
D
A-\ /---:
B-+-/ /-#
C-+---+-#
D-+---/
\-----#
=>
B
/-\
A-+\\---#
B-/\-\/-#
C----++-#
D----+/
\--:
=>
A
A-\
B-+\
C-++\/----#
D-+++//---:
\++-//--#
\+--//-#
\---/
=>
A
/-\
A-+-/-\
B-+-+-\--#
C-+-/ |/-#
D-\---++-#
\---+/
\--:
=>
B
Como este é o código-golfe , a resposta mais curta ganha.
:
sempre será alcançado a partir da esquerda ou também a partir da parte superior ou inferior? Em outras palavras, poderia haver caracteres diferentes #
ou :
na última coluna?
/
ou\
?