Introducción
Supongamos por un momento que las víboras y el acantilado están a solo dos pasos de distancia, en lugar de tres.
o
---
Hsss! |
';;' ___ /_\ ___ _
|
Eres, desafortunadamente, un cautivo de un torturador sádico. Usted debe dar un paso hacia la izquierda o hacia la derecha cada vez. Si no lo haces, te matan a tiros al instante. Se le permite planificar sus pasos de antemano, pero una vez que da el primer paso, no puede cambiar su plan. (Y no te entretengas tampoco; te dispararán).
De repente, se me ocurre una idea brillante ...
Ah! ¡Puedo alternar paso a derecha e izquierda! Paso a la derecha, paso a la izquierda, paso a la derecha, paso a la izquierda, etc.
Ah ah ah, no tan rápido. Como dije, el torturador es sádico. Pueden elegir si das cada paso, o cada segundo paso, o cada tercer paso, y así sucesivamente. Entonces, si elige ingenuamente la secuencia, RLRLRL...
entonces pueden forzarlo a dar cada segundo paso, que comienza con LL
. ¡UH oh! ¡Has sido mordido por víboras! La oscuridad se apodera de ti y todo lo demás se desvanece ...
En realidad no, todavía no estás muerto. Aún tiene que elaborar su plan. Después de pensarlo durante unos minutos, te das cuenta de que estás condenado. No hay forma de planificar una serie de pasos que garanticen su supervivencia. Lo mejor que se te ocurre es RLLRLRRLLRR
. 1 Once pasos seguros y nada más. Si el duodécimo paso es R
, entonces el torturador te hará dar cada paso y luego los últimos tres pasos te enviarán por el precipicio. Si el duodécimo paso es L
, entonces el torturador te hará dar cada tercer paso ( LRLL
), lo que te coloca en la prole de las víboras y sus picaduras letales.
Eliges R
el duodécimo paso, esperando retrasar tu desaparición el mayor tiempo posible. Con el viento rugiendo en tus oídos, te preguntas a ti mismo ...
¿Y si tuviera tres pasos?
¡Alerta de spoiler!
Aún morirías. Como resultado, no importa cuántos pasos tengas, habrá un punto en el que, sin importar qué opción elijas, hay una secuencia de pasos que tu Torturador puede elegir para asegurarte de cumplir con tu destino mortal. 2 Sin embargo, cuando las víboras y el acantilado están a tres pasos, puedes tomar un total de 1160 pasos seguros y cuando están a cuatro pasos, ¡hay al menos 13,000 pasos seguros! 3
El reto
Dado un solo número entero n < 13000
, genera una secuencia de n
pasos seguros, suponiendo que el acantilado y las víboras estén a cuatro pasos de distancia.
Reglas
- Puede ser un programa completo o una función.
- La entrada puede tomarse a través de STDIN o equivalente, o como un argumento de función.
- Salida debe tener dos caracteres distintos (que puede ser
+/-
,R/L
,1/0
, etc.). - Cualquier espacio en blanco en la salida no importa.
- Codificar una solución no está permitido. Eso trivializaría este desafío.
- Su programa debería (en teoría) terminar en una cantidad de tiempo decente. Como en,
n=13000
podría tomar como un mes, pero no debería tomar mil años o más. Es decir, sin fuerza bruta. (Bueno, al menos trata de evitarlo). - Bono de vida: proporciona una serie de
2000
pasos seguros. Si haces esto, el torturador quedará tan impresionado con tu tenacidad, perseverancia y previsión que te dejarán vivir. Esta única vez. (Trate esta secuencia como un número binario y proporcione el equivalente decimal para la verificación. Esto tiene como objetivo recompensar las respuestas que terminan rápidamente, ya que las respuestas pueden tardar mucho tiempo). - Puntuación: bytes , a menos que califiques para el bono: multiplícalo por 0,75 .
1 Hay una buena explicación de este problema y "solución" de una de las estrellas de Numberphile, James Grime, en su canal de YouTube aquí: https://www.youtube.com/watch?v=pFHsrCNtJu4 .
2 Esta conjetura de 80 años, conocida como el problema de discrepancia de Erdos, fue probada recientemente por Terence Tao. Aquí hay un muy buen artículo en Quanta Magazine sobre esto: https://www.quantamagazine.org/20151001-tao-erdos-discrepancy-problem/ .
3 Fuente: A SAT Attack on the Erdos Discrepancy Conjecture , por Boris Konev y Alexei Lisitsa. Recuperado de aquí: http://arxiv.org/pdf/1402.2184v2.pdf .
n=13000
dentro de un año, tal vez diez. ¿Vas a esperar un mes n=2000
? Probablemente no. Y si lo haces , entonces mereces la bonificación de todos modos.
n=13000
, ¿las primeras instrucciones de 2000 ganarán un bono? Parece inútil, ¿entonces probablemente quisiste decir algo más?