Escriba un programa que tome una cadena de línea única que pueda asumir que solo contendrá los caracteres /\_‾
. (Eso es barra inclinada hacia adelante y hacia atrás, subrayado y sobrelíneo . Puede usarlo ~
en lugar de sobrelíneo si lo necesita, ya que no es conveniente ASCII).
Por ejemplo, una posible entrada es:
__/‾‾\/\_/‾
Su programa necesita generar un valor verdadero o falso dependiendo de si el borde izquierdo de la cadena está "conectado", por así decirlo, al borde derecho de la cadena a través de las líneas de los caracteres. Entonces, si el interletraje fuera un poco menor, habría una línea negra sólida (aunque rizada) desde el borde izquierdo hacia la derecha, como un trozo de hilo o hilo sin romper.
La salida para el ejemplo anterior sería verdadera porque los bordes están conectados:
Para ser claro en las conexiones:
/
se conecta en su parte inferior izquierda y superior derecha\
se conecta en su parte superior izquierda e inferior derecha_
se conecta en su parte inferior izquierda e inferior derecha‾
(o~
) se conecta en su parte superior izquierda y superior derecha
También:
No importa si los bordes de la cadena comenzaron en la parte superior o inferior, solo importa que se conecten horizontalmente a lo largo de toda la cadena.
Puede suponer que la cadena de entrada no está vacía y, por supuesto, solo una línea.
Aquí hay algunos ejemplos más seguidos de 1 (verdadero) si están conectados o 0 (falso) si no:
__/‾‾\/\_/‾
1
_
1
\
1
/
1
‾
1
___
1
\/
1
/\/
1
/\/\
1
‾‾‾
1
\\
0
‾‾
1
_‾
0
‾_
0
\_____/
1
\/\\/\\___
0
\/\__/‾‾\
1
______/\_____
1
‾‾‾‾‾‾\\_____
0
‾‾‾‾‾‾\______
1
_____/‾‾‾‾‾
1
\___/‾‾‾\___/‾‾‾
1
\_/_\_
0
\_/\_
1
/\/\/\/\/\/\/\/\/\/\/\/
1
____________________
1
‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾
1
‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾/
0
‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾\
1
/\‾/\‾___/\_\/__\/\‾‾
0
El código más corto es el ganador.