Вступ
Припустимо на мить, що гадюка та скеля знаходяться лише за два кроки, а не за три.
o
---
Hsss! |
';;' ___ /_\ ___ _
|
Ви, на жаль, полонені садистських катувальників. Ви повинні робити крок або вліво, або вправо кожного кроку. Якщо ви цього не зробите, вони моментально застрелять вас. Ви можете заздалегідь спланувати свої кроки, але коли ви зробите перший крок, ви не зможете змінити свій план. (І жодних ослаблень; вони застрелять тебе.)
Раптом на думку приходить яскрава ідея ...
Ах! Я можу просто чергувати кроки праворуч і ліворуч! Крок вправо, крок вліво, крок вправо, крок вліво і так далі ...
А-а-а, не так швидко. Як я вже казав, катувальник - садист. Вони можуть вибрати, чи робити ви кожен крок, чи кожен другий крок, чи кожен третій крок тощо. Тож якщо ви наївно вибираєте послідовність, RLRLRL...
то вони можуть змусити вас робити кожен другий крок, який починається з LL
. Ой-ой! Вас вкусили гадюки! Чорнота налітає на вас, і все інше згасає ...
Насправді ні, ти ще не мертвий. Ви все ще повинні придумати свій план. Подумавши про це кілька хвилин, ти зрозумієш, що ти приречений. Немає способу спланувати ряд кроків, які гарантують ваше виживання. Найкраще, що можна придумати, - це RLLRLRRLLRR
. 1 одинадцять безпечних кроків і не більше. Якщо дванадцятий крок R
, то катувач змусить вас робити кожен крок, і тоді три останні кроки відсилають вас зі скелі. Якщо дванадцятий крок - це L
, тортурист змусить вас зробити кожен третій крок ( LRLL
), що підводить вас прямо до виводка гадюк та їх смертельного укусу.
Ви вибираєте R
як дванадцятий крок, сподіваючись затримати смерть якомога довше. З вітром, що реве у вухах, ти дивуєшся собі ...
Що робити, якщо у мене було три кроки?
Спойлер попередження!
Ти все одно помреш. Як виявляється, незалежно від того, скільки кроків у вас є, буде якийсь момент, коли незалежно від того, який вибір ви зробите, існує послідовність кроків, які ваш мучитель може обрати, щоб забезпечити вам зустріч зі своєю смертельною долею. 2 Однак, коли гадюка та скеля знаходяться в трьох кроках, ви можете зробити загалом 1160 безпечних кроків, а коли вони в чотирьох кроках, є щонайменше 13000 безпечних кроків! 3
Змагання
Давши єдине ціле число n < 13000
, виведіть послідовність n
безпечних кроків, припустивши, що скеля та гадюки знаходяться в чотирьох кроках.
Правила
- Може бути або повною програмою, або функцією.
- Введення можна сприймати через STDIN або еквівалент, або як аргумент функції.
- Висновок повинен мати два різних символів (які можуть бути
+/-
,R/L
,1/0
і т.д.). - Будь-яке пробіл у висновку не має значення.
- Жорстке кодування рішення не допускається. Це спричинило б це завдання.
- Ваша програма повинна (теоретично) закінчити пристойну кількість часу. Як і в, це
n=13000
може зайняти як місяць, але це не повинно зайняти тисячу років і більше. Тобто ніякої грубої сили. (Ну, принаймні, намагайся цього уникати.) - Життєвий бонус: забезпечте ряд
2000
безпечних кроків. Якщо ви це зробите, катувальник буде настільки вражений вашою наполегливістю, наполегливістю і думкою, що вони дозволять вам жити. Це один раз. (Трактуйте цю послідовність як двійкове число та надайте десятковий еквівалент для перевірки. Це призначено для винагороди за відповіді, які швидко закінчуються, оскільки відповіді можуть тривати дуже довго.) - Оцінка: байти , якщо ви не претендуєте на бонус - помножте на 0,75 .
1 Існує хороше пояснення цієї проблеми та "рішення" одного з зірок Numberphile, Джеймса Грима, на своєму каналі YouTube тут: https://www.youtube.com/watch?v=pFHsrCNtJu4 .
2 Ця гіпотеза 80 років, відома як проблема розбіжності Ердоса, була нещодавно доведена Теренсом Тао. Ось дуже приємна стаття про журнал Quanta про це: https://www.quantamagazine.org/20151001-tao-erdos-discrepancy-problem/ .
3 Джерело: Атака САТ на Концепцію розбіжності Ердоса , Борис Конев та Олексій Лисиця. Отримано звідси: http://arxiv.org/pdf/1402.2184v2.pdf .
n=13000
протягом року, а може й десяти. Ви збираєтесь чекати місяць n=2000
? Напевно, ні. І якщо ви це зробите , то бонус ви все одно заслуговуєте.
n=13000
, чи отримають перші 2000 інструкцій цього бонусу? Вам здається безглуздим, значить, ви, мабуть, мали на увазі щось інше?