На основе коренастых против гладких струн .
Squiggles /\_/\/\__/\/\/\/\_/\_/\весело делать на клавиатуре, когда вам действительно скучно. Но не все загогулины созданы равными. Некоторые загогулины гладкие, \___/а некоторые коренастые, как /\/\/\/\. Другие просто сломаны, как////_\\\
Внутри каждого загадочного Nперсонажа есть N-1перекрестные узлы. Каждый соединительный кран классифицируется на один из трех типов:
Гладкая (угол> «90 градусов»):
\_ __ _/Коренастый (угол = "90 градусов")
/\ \/Сломан (все, что не соединяется)
// \\ /_ _\
Давайте определим гладкость быть доля соединений , которые являются гладкими, с chunkiness и разбитости , определенной аналогично. Каждое значение колеблется между 0и 1. Сумма гладкости, короткости и ломкости закорючка всегда равна 1.
Например, в squiggle /\/\\_//\_есть 3 гладких соединения, 4 коротких соединения и 2 сломанных соединения. Таким образом, он 0.3333гладкий, 0.4444коренастый и 0.2222сломанный.
Пустые строки и строки только с одним символом имеют неопределенные значения, весь ввод будет не менее 2 символов.
Вызов
Напишите программу, которая принимает волнистую произвольную длину и выдает любые два значения: гладкости, краткости и ломкости.
- Вы можете написать программу или функцию, используя ввод через STDIN, командную строку или строковый аргумент.
- Вы можете предположить, что ввод имеет по крайней мере длину> = 2 и состоит только из символов
/\_с необязательным завершающим переводом строки. - Выведите (или верните, если функция), два числа с плавающей запятой с точностью не менее 4 десятичных знаков, округленных или усеченных. Если истинное значение равно
2/3, допустимые значения включают любое значение между0.6666и0.6667даже такими вещами0.666637104. Если точное значение равно1/3, любой содержащий ответ0.3333является действительным. Вы можете не указывать конечные нули или ведущий ноль, если значение меньше единицы. - Выведите любую пару из трех значений по своему усмотрению, просто обязательно укажите, какие два и в каком порядке.
Самый короткий код в байтах побеждает.
Примеры
/\/\\/\//\\→ Гладкость 0, короткость 0.7, разбитость0.3
_/\\_/\\/__/\\\//_→ Гладкость 0.29411764705, короткость 0.29411764705, разбитость0.41176470588
//\\__/_\/→ Гладкость 0.3333333, короткость 0.2222222, разбитость0.4444444
Бонусный вопрос: что вы предпочитаете: гладкие или короткие или ломаные загогулины?