Введение
Предположим на мгновение, что гадюки и скалы находятся всего в двух шагах от трех.
o
---
Hsss! |
';;' ___ /_\ ___ _
|
Вы, к сожалению, пленник садистского мучителя. Вы должны сделать шаг влево или вправо каждый ход. Если вы этого не сделаете, они застрелят вас мгновенно. Вам разрешено планировать свои шаги заранее, но как только вы сделаете свой первый шаг, вы не сможете изменить свой план. (И бездельничать; тебя пристрелят.)
Внезапно, яркая идея приходит на ум ...
Ах! Я могу просто чередовать шаг вправо и влево! Шаг вправо, шаг влево, шаг вправо, шаг влево и так далее ...
Ах, ах, ах, не так быстро. Как я уже сказал, мучитель садистский. Они выбирают, делать ли вам каждый шаг, или каждый второй шаг, или каждый третий шаг, и так далее. Так что, если вы наивно выберете последовательность, RLRLRL...
то они могут заставить вас сделать каждый второй шаг, который начинается с LL
. Ой! Вы были укушены гадюками! Тьма налетает на тебя, а все остальное исчезает ...
На самом деле нет, ты еще не умер. Вы все еще должны придумать свой план. Подумав об этом несколько минут, вы понимаете, что обречены. Нет способа спланировать серию шагов, которые гарантируют вам выживание. Лучшее, что вы можете придумать, это RLLRLRRLLRR
. 1 Одиннадцать безопасных шагов и не более. Если это двенадцатый шаг R
, то Мучитель заставит вас сделать каждый шаг, а затем последние три шага отправят вас с обрыва. Если это двенадцатый шаг L
, то Мучитель заставит вас сделать каждый третий шаг ( LRLL
), что приведет вас прямо к выводку гадюк и их смертоносным укусам.
Вы выбираете R
в качестве двенадцатого шага, надеясь задержать вашу смерть как можно дольше. С ревом в ушах, вы удивляетесь себе ...
Что если бы у меня было три шага?
Осторожно, спойлеры!
Ты бы все равно умер. Как выясняется, независимо от того, сколько у вас шагов, будет определенная точка, где независимо от того, какой выбор вы сделаете, есть последовательность шагов, которую ваш мучитель может выбрать, чтобы убедиться, что вы встретите свою смертельную судьбу. 2 Однако, когда гадюки и обрыв находятся в трех шагах, вы можете сделать всего 1160 безопасных шагов, а когда они находятся в четырех шагах, есть как минимум 13 000 безопасных шагов! 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 Источник: SAT-атака на гипотезу несоответствия Эрдоса. Автор Борис Конев и Алексей Лисица. Получено здесь: http://arxiv.org/pdf/1402.2184v2.pdf .
n=13000
в течение года, может быть, десяти. Ты собираешься ждать месяц n=2000
? Наверное, нет. И если вы это сделаете , то вы все равно заслуживаете бонуса.
n=13000
, получат ли первые 2000 инструкций бонус? Кажется бессмысленным, так вы, вероятно, имели в виду что-то еще?