Scrivi un programma che accetta una stringa a riga singola che puoi assumere conterrà solo i caratteri /\_‾
. (Questo è in avanti e barra rovesciata, sottolineato e overline . È possibile utilizzare ~
al posto di overline se avete bisogno dal momento overline non è conveniente ASCII.)
Ad esempio, un possibile input è:
__/‾‾\/\_/‾
Il tuo programma deve generare un valore di verità o falsa a seconda che il bordo sinistro della stringa sia "collegato", per così dire, al bordo destro della stringa attraverso le linee dei caratteri. Quindi, se la crenatura fosse un po 'meno, ci sarebbe una linea nera solida (anche se crespa) dal bordo sinistro a destra, come un pezzo di spago o spago ininterrotto.
L'output dell'esempio precedente sarebbe vero perché i bordi sono collegati:
Per essere chiari sui collegamenti:
/
si collega in basso a sinistra e in alto a destra\
si collega in alto a sinistra e in basso a destra_
si collega in basso a sinistra e in basso a destra‾
(o~
) si connette in alto a sinistra e in alto a destra
Anche:
Non importa se i bordi della stringa sono iniziati in alto o in basso, importa solo che si collegano orizzontalmente per tutta la lunghezza della stringa.
Puoi presumere che la stringa di input non sia vuota e, naturalmente, solo una riga.
Ecco alcuni altri esempi seguiti da 1 (verità) se sono collegati o 0 (falsa) in caso contrario:
__/‾‾\/\_/‾
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
Il codice più corto è il vincitore.