Примітка. Це засновано на двох дорогах, розбігшихся в жовтому лісі (частина 2) , що було попереднім завданням. Через популярність цього питання і Дві дороги розійшлися в жовтому лісі (частина 1) , я хотів зробити третю. Але перші 2 були занадто легкими ( 2-байтна відповідь на перший, 15-байтна відповідь на другу.) Тому я зробив щось складніше ...
Натхнення
Цей виклик натхненний відомою поемою Роберта Фроста «Дорога не взята» :
Дві дороги розходилися в жовтому лісі,
І вибачте, що я не міг подорожувати обома
І бути однією мандрівницею, довго я стояв
І дивився вниз, наскільки я міг,
куди вона зігнулася в підліску;... 2 абзаци оброблені ...
Я скажу про це зітханням
Десь віками і століттями, отже:
Дві дороги розійшлися в лісі, а я -
я взяв ту, яку менше проїжджав,
і це змінило все.
Зверніть увагу , що другий в останній рядок I took the one less traveled by,
.
Попередня історія
Вас призначили допомогти сліпому авантюристу, який йде по дорозі і був натхненний The Road Not Taken . Авантюрист підходить до роз’їзду в дорозі і хотів би взяти шлях, менший проїжджаючи. Ви повинні знайти, де насправді знаходиться авантюрист, і сказати авантюристу, куди звернутися.
Змагання
Ваша мета полягає в тому, щоб знайти на вашій карті найменш проїжджану дорогу, де роз’їжджає дорога. Ваша карта - це рядок, що містить нові рядки (або \n
, якщо вам зручніше) і має невідому ширину та висоту. На карті дороги складаються з цифр 0 до 9 , перехрестя зроблено з #
s. Ви повинні знайти дорогу, на якій ви зараз перебуваєте, а з інших доріг найбільше проїжджаєш дорогу, і дорогу, яку менше проїжджає твій сліпий авантюрист. Вуд на вашій карті зображений пробілом. Ось проста карта:
2 2
1 0
#
2
2
Ця карта 5 широка і 5 заввишки. Зверніть увагу, як доріжки розвиваються у формі Y. Y може бути орієнтований будь-яким способом, тому ви повинні мати можливість зрозуміти "поворотну" карту.
Які #
засоби
Там, де вилки на карті, буде #
. Це не впливає на рахунок будь-якого шляху.
Що насправді означають цифри
Кожен шлях (рядок чисел, може мати вигин у ньому) має бал. Оцінка шляху визначається додаванням його цифр, тому для першого прикладу перший шлях (зліва вліво, за годинниковою стрілкою) має бал 2 + 1 = 3, другий має 2 + 0 = 2, а третій має 2 + 2 = 4. Дороги можуть містити номери, з'єднані по діагоналі.
Знаходження, де ти
Ви на шляху з найвищим балом. Інші 2 стежки - це дорога, яка більше проїжджається, і дорога, яка менше проїжджає. Вам потрібно знайти дорогу з найнижчою оцінкою.
Повідомте мандрівнику, куди поїхати
Ви повинні сказати своєму мандрівникові їхати «вліво» або «вправо». Майте на увазі, що вказівки є з точки зору вашого мандрівника (він звернений до вилки.)
Приклад карт
14
9#
04
Вихід: "правильно" (мандрівник знаходиться в 9
дорозі, 0 + 4 <1 + 4
9
9
9
9
9
#
8 8
8 8
88 88
8 7
Вихід: "ліворуч" (подорожній знаходиться в 99999
дорозі, 8 + 8 + 8 + 8 + 8> 8 + 8 + 8 + 8 + 7
02468
#98765
13579
Вихід: "правильно" (подорожуючий знаходиться в 98765
дорозі, 0 + 2 + 4 + 6 + 8 <1 + 3 + 5 + 7 + 9)
4 2
4 2
#
4
4
2
2
Вихід: "правильно" (мандрівник у 4422
дорозі, 4 + 4> 2 + 2)
9
9
9
#
8 7
8 7
8 7
Вихід "ліворуч" (подорожній знаходиться у 999
дорозі, 8 + 8 + 8> 7 + 7 + 7
Що потрібно знати:
- Карти будуть прокладені пробілами, щоб кожна лінія була однаковою.
- Ви повинні вивести на STDOUT / консоль / файл рядок
left
абоright
, необов'язково, слідом за новим рядком. - Ви повинні приймати введення як рядок, що містить нові рядки,
\n
s, або масив / список рядків (кожен рядок є рядком). Там, де цей ввід має бути, має бути функція, аргумент командного рядка, файл або STDIN по одному рядку за одним чи подібним. Змінна не є прийнятним пристроєм введення (якщо це не параметр функції). Так само, вирази функцій у JS та інших мовах повинні бути призначені змінній. - Це код-гольф , тому найкоротша відповідь у байтах виграє!
- Стандартні лазівки заборонені
Речі, які ви можете припустити
- Ваш вклад буде дійсним. Нічого подібного не буде перевірено на:
0 0 0 0 0 # 0 0
- Оцінки шляхів ніколи не будуть зв'язані.
- Вхід може бути будь-якої довжини в ширину або висоту, менший за межу рядка вашої мови.
- Між двома стежками завжди буде не менше 1 місця.
- Шляхи можуть мати вигини, повороти тощо. Це дороги, а не шосе.
#
завжди буде в центрі горизонтально?