Napisz program, który pobiera pojedynczy ciąg wiersza, o którym można założyć, że będzie zawierał tylko znaki /\_‾
. (Jest to ukośnik do przodu i do tyłu, podkreślenie i overline . Możesz użyć ~
zamiast overline, jeśli potrzebujesz, ponieważ overline nie jest wygodnym ASCII.)
Na przykład jednym z możliwych danych wejściowych jest:
__/‾‾\/\_/‾
Twój program musi wypisać wartość prawdy lub fałszu w zależności od tego, czy lewa krawędź łańcucha jest „połączona”, że tak powiem, z prawą krawędzią łańcucha za pomocą wierszy znaków. Tak więc, jeśli kerning byłby nieco mniejszy, istniałaby stała czarna (choć perwersyjna) linia od lewej krawędzi do prawej, jak nieprzerwany kawałek sznurka lub sznurka.
Wynik dla powyższego przykładu byłby prawdziwy, ponieważ krawędzie są połączone:
Aby wyjaśnić połączenia:
/
łączy w lewym dolnym i prawym górnym rogu\
łączy w lewym górnym i prawym dolnym rogu_
łączy w lewym dolnym i prawym dolnym rogu‾
(lub~
) łączy się w lewym górnym i prawym górnym rogu
Również:
Nie ma znaczenia, czy krawędzie struny zaczynały się na górze, czy na dole, liczy się tylko to, że łączą się poziomo na całej długości struny.
Możesz założyć, że łańcuch wejściowy jest niepusty i oczywiście tylko jeden wiersz.
Oto kilka przykładów, po których następuje 1 (prawda), jeśli są połączone, lub 0 (fałsz), jeśli nie:
__/‾‾\/\_/‾
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
Najkrótszy kod jest zwycięzcą.