Schreiben Sie ein Programm, das eine einzeilige Zeichenfolge verwendet, von der Sie annehmen können, dass sie nur die Zeichen enthält /\_‾
. (Dies sind Schrägstriche in Vorwärts- und Rückwärtsrichtung, Unterstreichungen und Überstriche . Sie können diese ~
anstelle von Überstrichen verwenden, wenn Sie dies benötigen, da Überstriche kein bequemes ASCII-Format sind.)
Eine mögliche Eingabe ist beispielsweise:
__/‾‾\/\_/‾
Ihr Programm muss einen Wahrheits- oder Falschwert ausgeben, je nachdem, ob der linke Rand des Strings sozusagen über die Zeilen der Zeichen mit dem rechten Rand des Strings "verbunden" ist. Wenn das Kerning also etwas geringer wäre, gäbe es eine durchgehende schwarze (wenn auch verworrene) Linie vom linken Rand bis zum rechten, wie ein ungebrochenes Stück Schnur oder Faden.
Die Ausgabe für das obige Beispiel wäre wahr, da die Kanten verbunden sind:
Um die Verbindungen zu verdeutlichen:
/
verbindet links unten und rechts oben\
verbindet oben links und unten rechts_
Verbindet links unten und rechts unten‾
(oder~
) verbindet oben links und oben rechts
Ebenfalls:
Es ist egal, ob die Kanten der Saite oben oder unten beginnen, es ist nur wichtig, dass sie horizontal über die gesamte Länge der Saite verbunden sind.
Sie können davon ausgehen, dass die Eingabezeichenfolge nicht leer ist, und natürlich nur eine Zeile.
Hier sind einige weitere Beispiele, gefolgt von 1 (wahr), wenn sie verbunden sind, oder 0 (falsch), wenn nicht:
__/‾‾\/\_/‾
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
Der kürzeste Code ist der Gewinner.