El reto
Cree una función que, cuando se le da una entrada de arte ASCII (dirigiendo una ruta que eventualmente puede hacer un bucle), emite la longitud del bucle (si hay uno) y la longitud de la "cola" que conduce al bucle en una de las formularios a continuación.
Entrada
Su entrada debe pasarse a una función. A continuación se muestra un ejemplo de una entrada simple.
# --> # --> #
^ |
| |
| v
# <-- #
Podrías visualizar los bloques anteriores así
La "cola" es un elemento, mientras que el bucle tiene cuatro largos.
Una más difícil:
# --> # --> #
^ |
| |
| v
# --> # <-- # # --> #
^ ^ |
| | |
| | v
# --> # # <-- # <-- #
Salida
Debe enviar a través de STDOUT o la alternativa más cercana a su idioma.
Sus dos enteros de salida deben ser la longitud de la cola y la longitud del bucle. Esta salida puede ser de dos formas.
- una cadena delimitada por espacios:
"2 10"
- una serie de enteros:
[2, 10]
Reglas
Cada bloque, o
#
, solo tendrá un único camino lejos de sí mismo.Cada flecha tiene dos segmentos de línea y una cabeza.
El bloque inicial siempre estará en la columna más a la izquierda.
La entrada nunca será solo un bucle.
Ejemplo
# --> # --> # --> #
^ ^ |
| | |
| | v
# # <-- # <-- #
Éste tiene una longitud de cola de 2 y una longitud de bucle de 6. A continuación, la cola y el bucle están separados.
Cola
# -->
^
|
|
#
Lazo
# --> # --> #
^ |
| |
| v
# <-- # <-- #
Las salidas correctas son [2, 6]
y "2 6"
.
Si la entrada es solo una cola , la longitud del bucle es cero.
# --> # --> # --> #
|
|
v
<-- # <-- #
Las salidas correctas para la entrada anterior son [6, 0]
y"6 0"