Su desafío es convertir el texto de entrada en código de rechazo mental que generará el texto.
Tutorial tomado de aquí con permiso aquí
Brain-Flak tiene dos pilas, conocidas como 'izquierda' y 'derecha'. La pila activa comienza a la izquierda. Si aparece una pila vacía, devolverá 0. Eso es todo. No hay otras variables. Cuando se inicia el programa, cada argumento de línea de comando se transfiere a la pila activa.
Los únicos caracteres válidos en un programa Brain-Flak son ()[]{}<>
, y siempre deben estar equilibrados. Hay dos tipos de funciones: Nilads y Mónadas . Un nilad es una función que toma 0 argumentos. Aquí están todas las nilas:
()
Evalúa a uno.[]
Evalúa a la altura de la pila actual.{}
Pop la pila activa. Evalúa el valor reventado.<>
Alternar la pila activa. Evalúa a cero.
Estos se concatenan juntos cuando se evalúan. Entonces, si tuviéramos un '3' en la parte superior de la pila activa, este fragmento:
()(){}
evaluaría a 1 + 1 + active.pop()
cuál evaluaría a 5.
Las mónadas toman un argumento, un trozo de código Brain-Flak. Aquí están todas las mónadas:
(n)
Empuje 'n' en la pila activa.[n]
Evalúa a negativo 'n'{foo}
Mientras que cero no está en la parte superior de la pila, haz foo.<foo>
Ejecute foo, pero evalúelo como 0.
Estas funciones también devolverán el valor dentro de ellas, por lo que
(()()())
Empujará 3 pero
((()()()))
Empujará 3 dos veces .
El {}
evaluará a la suma de todas las corridas. Entonces, si tuviéramos '3' y '4' en la parte superior de la pila:
{{}}
evaluaría como 7.
Cuando el programa termina de ejecutarse, se imprime cada valor que queda en la pila activa, con una nueva línea entre ellos. Los valores en la otra pila se ignoran.
Reglas
- Puede suponer que el Brain-Flak se está ejecutando sin ascii. (
-A
) - El código brain-flak NO debe requerir entrada
- Se aplican todas las reglas estándar.
- El código debe ejecutarse en 1 minuto para cualquier entrada de hasta 1024 bytes en TIO. (Si no hay salida TIO disponible, proporcione un intérprete y lo ejecutaré en mi máquina (mi máquina debería poder acercarse a TIO)).
- Debe admitir entradas de longitud arbitrarias.
- Puede tomar la entrada de un archivo.
- La optimización para casos de prueba no está permitida
- Se requiere salida determinista
- Los programas no necesitan estar limpios
Casos de prueba (pruebe su código en estos, los textos de puntuación reales se publicarán en 1-2 semanas después de que se publique el desafío)
ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
The meaning of brain-flak is to flak your brain with pain.
`1234567890-=qwertyuiop[]\asdfghjkl;'zxcvbnm,./~!@#$%^&*()_+QWERTYUIOP{}|ASDFGHJKL:"ZXCVBNM<>?
To be, or not to be, that is the question:
Whether 'tis nobler in the mind to suffer
The slings and arrows of outrageous fortune,
Or to take arms against a sea of troubles
And by opposing end them. To die-to sleep,
No more; and by a sleep to say we die
<your brain-flak code here>
The fitness pacer test is a multi stage test. Avacado Avacado Avacadad Avacadad carrot.bat carrot.jar carrot.carrot Quack Quack Quack Quack Quack Quack Quack Quack Quack downgoat doawngoat down down gaot
This challenge came from a online program that turned text into brain-fuck. However brain-fuck has limitations and it is not nearly as cool as brain-flak. I really am looking forward to cool programs :) I am glad you took the time to read this and look forward to seeing your answer.
Victorioso
Para ganar, debe proporcionar la longitud total del código de bloqueo cerebral proporcionado por cada uno de los casos de prueba que se publicarán 1-2 semanas después de la fecha de publicación. La longitud total más corta gana.
¡¡¡¡¡¡NOTA!!!!!!:
Esto no es código golf , la longitud de su código no afectará su puntaje final de ninguna manera. Se agradece hacer un código legible limpio. ¡Gracias!
Casos de prueba
<your brain-flak code here>
debajo de 1000 recibe la recompensa. Que no puedo publicar para otro día, whoops; no me di cuenta de lo nuevo que era esto.