На основе коренастых против гладких струн .
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
Бонусный вопрос: что вы предпочитаете: гладкие или короткие или ломаные загогулины?