Занятие, которое я иногда выполняю, когда мне скучно, состоит в написании пары символов в соответствующих парах. Затем я рисую линии (поверх вершин, никогда не ниже), чтобы соединить этих персонажей. Например, я мог бы написать и затем нарисовать линии так:
Или я мог бы написать
После того, как я нарисовал эти линии, я пытаюсь нарисовать замкнутые петли вокруг кусков, чтобы моя петля не пересекала ни одну из линий, которые я только что нарисовал. Например, в первом случае мы можем нарисовать только один цикл вокруг всего, но во втором мы можем нарисовать цикл вокруг только s (или всего остального)
Если мы немного поэкспериментируем с этим, то обнаружим, что некоторые строки можно нарисовать только так, чтобы замкнутые циклы содержали все или ни одной буквы (как в нашем первом примере). Мы будем называть такие строки хорошо связанными строками.
Обратите внимание, что некоторые строки могут быть нарисованы несколькими способами. Например, можно нарисовать обоими из следующих способов (и третий не входит):
Если один из этих способов может быть нарисован так, что может быть выполнен замкнутый цикл, содержащий некоторые символы без пересечения какой-либо из линий, тогда строка не является хорошо связанной. (так что не очень хорошо связаны)
задача
Ваша задача - написать программу для идентификации строк, которые хорошо связаны между собой. Ваш ввод будет состоять из строки, где каждый символ появляется четное число раз, а ваш вывод должен быть одним из двух различных последовательных значений, одно, если строки хорошо связаны, а другое - иначе.
Кроме того, ваша программа должна быть хорошо связанной строкой, означающей
Каждый символ появляется четное количество раз в вашей программе.
Он должен вывести истинное значение, когда передал сам.
Ваша программа должна быть в состоянии произвести правильный вывод для любой строки, состоящей из символов из печатного ASCII или вашей собственной программы. С каждым персонажем появляется четное количество раз.
Ответы будут оцениваться как их длины в байтах с меньшим количеством байтов, что является лучшим показателем.
намек
Строка не является хорошо связанной, если существует непрерывная непустая строгая подстрока, так что каждый символ появляется четное число раз в этой подстроке.
Тестовые случаи
abcbac -> True
abbcac -> False
bbbb -> False
abacbc -> True
abcbabcb -> True
abcbca -> False
there
.
abcbca -> False
.