La entrada no debe ser necesaria y la salida debe leer " All your base are belong to us
".
Restricciones
Sin recursos externos.
Más un mínimo de dos de los siguientes:
No puede usar "a", "b", "t", "u" o "y" en ningún caso en su código (bonificación -10 a su puntaje de golf si puede hacerlo)
No puede usar "l", "o", "s", "e" o "r" en ningún caso en su código (bonificación -20 a su puntaje de golf si puede hacerlo)
No puede usar "n", "g", "0", "1" o "2" en ningún caso en su código (bonificación -30 a su puntaje de golf si puede hacerlo)
Entonces, por ejemplo, si logra hacer el código con 40 caracteres y usa las reglas 1 y 2, su puntaje de golf es 40 - 10 - 20 = 10 caracteres.
El puntaje de golf de código más pequeño gana ... ¡Buena suerte!
string
rompe las tres restricciones, ychar
,var
yWrite
rompe dos de ellas cada una. Va a ser difícil obtener respuestas válidas, quizás Barinfuck.print(input())
(python)? Se requeriría que el usuario ingrese la cadena correcta, pero eso no está prohibido.stdin
es posiblemente una "fuente externa".Respuestas:
SOGL V0.12 , 15-60 = -45
Pruébalo aquí!
šz█P'zUS½█│β3‘
es una cadena comprimida deall your base are belong to us
, pero debido a que la cadena exacta comprimido contenido0
, es dividida en 3 partes:all your base are
,belong to us
(que cuestan un byte, pero dio un bono -30 byte). La primera y la última cadena se comprimen con el diccionario de inglés SOGL y se unen implícitamente con espacios. El resto⁾
es un caso de oración simple incorporado.Tenga en cuenta que SOGL es posterior a este desafío, pero eso está permitido ahora.
fuente
GolfScript, -22 (38 caracteres, -60 bonus)
fuente
"..."
define una cadena y el bloque{}%
realiza una operación de mapeo sobre todos los caracteres. Dentro del bloque, el valor ASCII está disponible en la pila y67-
resta 67 de cada valor ASCII.Sclipting , −40
丟
al frente, cambiando el puntaje a −39.fuente
"input is not required"
como dije, entonces lanzaría el 丟 al frente y alteraría el puntaje a -39, ¡pero gran esfuerzo! ¡Especialmente considerando que inventaste el idioma, amigo!JavaScript - 140 bytes - 60 bonus = 80 puntos
Ejecutar en Firefox
Sé lo que estás pensando. No, esos no son los personajes que figuran en la pregunta. Esos son personajes con un caron o háček (elegidos al azar de una lista de diacríticos). Aunque están combinando marcas, no son dos personajes separados.
fuente
String.fromCharCode(65,108,108,32,121,111,117,114,32,98,97,115,101,32,97,114,101,32,98,101,108,111,110,103,32,116,111,32,117,115);
APL (43-30-20 = -7)
Esto satisface las reglas 2 y 3.
fuente
INVALID TOKEN
error ... quizás del carácter inicial y de cola antes de AV ... ¿Hay algún otro lugar donde pueda probar esto ...?Brainfuck, 267-60 = 207
fuente
HTML / CSS 70
http://jsbin.com/EjekuvuF/1/
Pensé que estaba siendo inteligente con el tipo invertido, pero luego me di cuenta de que no podía cumplir ninguna de las reglas auxiliares con el HTML / CSS real. Oh bien.
ACTUALIZAR:
User Flame sugirió una solución más compatible con varios navegadores:
http://jsbin.com/EjekuvuF/6
fuente
transform:rotate(.5turn)
resuelve un error de sintaxis ... Me gusta la imaginación puesta en esto ...MATLAB, Todas las bonificaciones: Puntuación de -20 (40-60)
EDITAR:
Tenga en cuenta que no estoy seguro de cuáles son los requisitos del sistema para ejecutar esto, probado en Windows. Para aquellos que luchan por copiar, se puede generar un código similar de esta manera:
Si se le hubiera permitido preguntar algo como entrada, por supuesto sería posible una solución con menos caracteres (pero también sin la bonificación).
fuente
input
. La segunda respuesta es (afaik) simplemente no es cierto.input('')
llamada no termina en punto y coma, por lo tanto, generará salida.prompt()
"dd
, pero tal vez eso cuente como un recurso externo. Lo mismo haría la entrada del usuario, por supuesto.,
,E
9/
52
E"
!3
%E
!2
%E
"%
,/
.'
E4
/E
5`3 Puedo entender la primera respuesta, pero la segunda respuesta requiere información, que dije que no era" requerida "k (-7 = 53-60)
(#`)"c"$(465%3)-6h$"Z//{\",&){9:(6{:)6{96/,-4{',{&(";
no incluye la nueva línea final, se puede agregar al costo de un carácter adicional:
(-#`)"c"$(465%3)-6h$"Z//{\",&){9:(6{:)6{96/,-4{',{&(";
molestamente, las únicas compensaciones que funcionan para este truco son 154 y 155
editar:
si es suficiente para mostrar la cadena (en lugar de imprimirla), como sospecho que la solución APL funciona (no funciona en http://tryapl.com/ , por lo que no puedo probarla correctamente), es
que es -12 = 48 - 60. ¿Puedo obtener una decisión sobre si esto es suficiente?
fuente
dc,
97-60 = 3791-60 = 3188-60 = 2881-60 = 21Versión mejorada (la idea principal aquí es variar la base de entrada, para aumentar las posibilidades de encontrar un gran número útil sin dígitos problemáticos):
En la base 7, ¡todo puede convertirse en un solo número! Las bases inferiores son naturalmente menos compactas, pero la falta de operaciones de reparación aquí lo compensa.
Mi primera solución de base utilizada 10. La segunda utiliza una mezcla de base 9, 10, 12, 13 y 15. Éste está en la base 7. verdaderamente siento que toda la base son pertenecen a mí.
El último, en serio: Base 13 hace un gran trabajo en el primer segmento, luego la base 7 para el resto.
fuente
REPL Python,
12211698 caracteres - 30 bono =928668 puntosPodría deshacerme de los ceros en Python 3.3 reemplazando '
\40
' con\N{SP}
, pero desafortunadamente,N
no está permitido.Editar : inspirado por esta respuesta , lo acorté aún más al reemplazarlo
\x40
por. Por otra parte, puesto que ya utilizo el
1
, reemplazando\156
porn
y\x67
porg
lo acorta por otros 6 caracteres, mientras que incurrir en ninguna penalización adicional.fuente
.py
archivo y lo ejecuta, no hay salida.Brainfuck,
205203 - 60 =145143 bytesVersión legible:
fuente
Befunge 98: 122 - 60 = 62
Calcula los valores ascii, luego los imprime. Todavía necesito probar otros métodos para formar los números para ver si hay formas más cortas.
fuente
Python, 195-40 = 155
fuente
Rubí, 121-50 = 71
Un poco de fuerza bruta, pero se descartan la mayoría de los métodos lindos:
Rompe la regla # 1 debido a la A en
pack
, los otros dos deberían estar bien.fuente
<<
en mi respuesta.{ba, z} sh,
67 - 40 72 - 6061 - 40 = 21Maldita sea, resulta que tenía un
r
allí que no había notado, ¡así que el bono de 20 no se aplica!fuente
$'\x74\x72'
se puede usar directamente como nombre de comando, ahorrándote 8 caracteres para el$(m4<<<)
. ¿No te funciona así?\x72
como reemplazo parar
obtener el bono de 20 puntos a costa de perder el bono de 30 puntos (para el2
)2
usado allí, déjame ver si puedo encontrar una manera de deshacerme de él y evitar perder cualquier bonificación.tr
cuenta como un recurso externo?C, 75 bytes - 60 = 15
¡Gracias a @gastropner por bajar el puntaje de 50 a 33 y de 19 a 15!
Toma la dirección de una matriz de caracteres como entrada y escribe la cadena en la matriz.
Pruébalo en línea!
Llamar con:
Salida:
Versión anterior (90 bytes - 40 = 50):
fuente
*q,i,j;x(p){if(j="\v&&j3%?8j(+9/j+8/j(/&%$-j>%j?9"[i++])*(q=p)=j^74,x(++p);}f(p){i=3-3;x(p);}
i=i<30
otros 2 bytes de descuento.0
.JavaScript
(306 caracteres - 60 bonus = 246)(206 caracteres - 50 bonus = 156)(123 caracteres = 173 caracteres - 50 bonus)
Nooby, probablemente podría sacar más provecho ... Avíseme si he rellenado algo, esto alerta "Toda su base nos pertenece". Esto también es solo ASCII.
Si cuenta la consola en sí como salida, esto también contaría (57 con bonificación):
fuente
x=(c.t+c)[6]
es un poco más cortoeval
podría ser más fácil de hackearBrainfuck, (227 - 60 = 167)
fuente
+++++ +++++
. Podría ser de 226 bytes.PHP (35-60 = -25 bytes)
HOW LOW CAN YOU GET ?
[1] [2][1] Este programa se puede decodificar usando
xxd -r
.[2] Sí, la solución pesada se reutiliza aquí. Creo que es ... el tercer problema que resolví de esta manera. Tal vez debería pasar a otra cosa, pero no es que esto no sea genial para problemas que te prohíben usar la mayoría de los personajes.
fuente
~
.Golpe, 52-10-30 = 12
Lo siguiente debe ejecutarse en un entorno ISO-8859-1 (todavía bastante común):
Esto llama
tr
, que traduce los caracteres de una manera adecuada. Tuve que usarr
y violar la regla 2, o usar un dígito en el escape y violar la regla 3. Como 3 da más bonificación, elegí la primera.fuente
tr
Constituye un recurso externo?Pure Bash (sin recursos externos), 141 caracteres - 50 bonus = 91
Dejar caer intencionalmente el bono de 10 puntos para obtener una mejor puntuación general.
Esto funciona en cualquier
bash
versión 3.00.15 o posterior que he probado.Como funciona
Aquí no hay ciencia de cohetes, solo
bash
expansiones de una forma u otra:[012]
. por ejemplo$'\x65'
nos dae
Z=({k..v})
). El inicio de la expansión de llaves se elige cuidadosamente para que los índices de los caracteres que requerimos no contengan[012]
. por ejemplo${Z[7]}
nos dar
.bash
es lo suficientemente flexible como para permitir que sus comandos se construyan a partir del contenido de múltiples cadenas. Entonces se$f$'\x63'h$i
expande aecho
.Respuesta anterior con bonificación completa, pero peor puntaje general:
Pure Bash (sin recursos externos), 193 caracteres - 60 bonus = 133
Sé que esto no ganará, pero quería demostrarme a mí mismo que esto es posible
bash
, mientras satisfago todos los requisitos:Esto requiere una versión bastante reciente de
bash
para la${c^}
expansión de parámetros. 4.2.25 está bien, pero 3.2.48 está prohibido.fuente
Postdata, 364-40 = 324
No podría hacerlo sin
loser
, por supuesto. :)Esto comienza con la codificación del texto como cadenas de base 36:
Y luego eliminando los 1s y 0s y 2s aritméticamente. Las cadenas se pueden regenerar con
36 <string-buf> cvrs
, pero esto produce letras mayúsculas, por lo que debemos iterar y agregar 0x20 para ponerlas en minúsculas.Los operadores
cvx exec
nos permiten ejecutar fragmentos de cadena de tokens de operador codificados en binario en varias codificaciones. ¡Lo más simple es codificar un operador en hexadecimal<92??>
pero hay un 2 allí! Entonces, la codificación de "primer nivel" es ascii85. Luego, las cadenas que aún contenían caracteres prohibidos pasaron por niveles adicionales de hexadecimal -> ascii85 -> hex -> ascii85.fuente
Brainfuck, 306-60 = 246
fuente
PHP, 186-10-30 = 146
Tuve que ser un poco creativo;)
fuente
<?=
lugar de echo (4), puede guardar las letras repetidas en variables ('l', ''). usar en54*2
lugar de54+54
54*2
porque2
tiene un factor, por lo que solo podría hacerlo con los que tenían 3 o más tiene un factor. Si uso un decimal, entonces no hay menos caracteres.chr(68+33)
ychr(38*3)
con literale
yr
.Pitón, 181-40 = 141
[Estoy usando la versión 2.7.2 YMMV - el incorporado,
file
se fue en Python 3.X]fuente
Python (104-30 = 74)
Y anotar:
fuente
Paperas, 150 -
60 = 90.40 = 110No estoy seguro de si podría haberse hecho más corto (en general) al no obtener uno de los bonos de código: mi objetivo era un poco menos en la falta y un poco más en el -60 ... Me gustó el desafío de no usar cualquiera de los caracteres restringidos
Y ... lo hice tonto, me perdí el comando inicial 'S'. : - /
De todos modos, aquí hay una versión "sin reglas": expandir las variables.
Y eso le da un puntaje de 177-60 = 117. Así que romper la regla central todavía me dio un puntaje general más bajo.
fuente
Perl 5, 99-50 = 49
Una subrutina que devuelve la cadena requerida:
Véalo impreso así:
fuente
BF-RLE , 146-30 = 116
fuente