Це друга в серії, третя - Дві дороги, розійшлися в жовтому лісі (частина 3)
Це ґрунтується на Дві дороги, розійшлися в жовтому лісі (частина 1) , попереднє завдання. Він був досить добре сприйнятий, але також був досить тривіальним (відповідь на Java в 52 байтах!), Тому я зробив щось складніше ...
Натхнення
Цей виклик натхненний відомою поемою Роберта Фроста "Дорога не взята":
Дві дороги розходилися в жовтому лісі,
І вибачте, що я не міг подорожувати обома
І бути однією мандрівницею, довго я стояв
І дивився вниз, наскільки я міг,
куди вона зігнулася в підліску;... 2 абзаци оброблені ...
Я скажу про це зітханням
Десь віками і століттями, отже:
Дві дороги розійшлися в лісі, а я -
я взяв ту, яку менше проїжджав,
і це змінило все.
Зверніть увагу , що другий в останній рядок I took the one less traveled by,
. Ваша мета - знайти найменш пройдений шлях у рядковому введенні. Ви повинні вивести одне з двох значень, які відрізняються одне від одного, тим сигналом, в який бік ви повинні повернути, щоб піти по дорозі, що не проїжджала. Після того, як доріжки доріг (слід шестикутників змінюється на цифри), ви знаходитесь на перехресті. Звідти будуть дві стежки, складені цифрами. Шлях, цифри якого мають найменшу суму, буде дорогою, яку не прийнято. Зауважте, що не взята дорога може мати більший шлях, але меншу суму шляху. Ось кілька прикладів / тестових випадків програми, яка друкує "ліворуч" або "праворуч" для не взятого шляху:
1 2
1 2
1 2
#
#
#
left (3 < 6)
1 2
2 2
1 1
#
#
#
left (4 < 5)
12 2
11 2
1 1
#
#
#
right (6 > 5)
99 989
99 89
99 99
99 99
#
#
#
#
left (72 < 79)
1111 1110
001 111
11 11
11 11
#
##
##
##
left (9 < 10) (Note: 1111 is interpreted as 1+1+1+1=4, not 1111=1111)
1 1
0 1
1 1
1 1
1 1
1 1
1 1
#
#
#
#
#
left (6 < 7)
1 1
0 1
1 1
1 1
1 1
1 1
1 1
#
#
#
#
#
left (6 < 7)
Речі, які слід припустити і запам'ятати
- Завжди знайдеться 2 стежки. Ні більше, ні менше.
- Ви можете приймати вхід з STDIN по одному рядку, рядок, що містить символи LF, або рядок, що містить прямокутну косу рису і n. Якщо вам потрібно ввести будь-який інший спосіб, попросіть схвалення в коментарях.
- Вам не доведеться турбуватися про недійсний вхідний або прив’язаний шлях. Вони ніколи не будуть введені у вашу програму / функцію.
- Вхід може бути будь-якої довжини в ширину чи висоту, менший за межу рядка вашої мови.
- Ніколи не буде а
#
та числа в одному рядку. - Усі цифри на шляху є натуральними цілими від 0 до 9.
- Допускається введення або виведення з останнього нового рядка.
- Дивіться мою відповідь JS ES6 нижче для прикладу.
- Між двома стежками завжди буде не менше 1 місця.
- Дві стежки завжди матимуть однакову висоту для кожної карти, але можуть бути різними на інших картах.
- Якщо ви плутаєте конкретний тестовий випадок, будь ласка, скажіть мені.
- 1111 інтерпретується як 1 + 1 + 1 + 1 = 4, а не 1111 = 1111. Карта - це ряд одноцифрових чисел, а не чисел довільної довжини.
- Це код-гольф , тому найкоротша відповідь у байтах виграє!
- Стандартні лазівки заборонені
Якщо у вас є якісь запитання щодо цього виклику, запитайте мене в коментарях і удачі!
let answers = $('div > h1').map(function(){return $(this).clone().children(':not(a)').remove().end().text().replace(/\s+/g,' ').trim()}).get();answers.splice(0, 1);answers.join('\n');
$("div > h1").map(function(){return $(this).text()}).get().join("\n");
у консоль!