Hay un desafío Juguemos al tenis de Daniel . Propone colocar un tribunal en dirección norte-sur. Mi propuesta es crear una cancha para jugar tenis en la dirección este-oeste también.
Debe imprimir una cancha de tenis, pero debe hacerlo en la menor cantidad de bytes posible debido a razones confidenciales.
Pista de tenis
------x------
| | x | |
| |--x--| |
| | x | |
------x------
Las reglas originales son:
- Sin espacios extra.
- No hay pestañas ya que serían injustas.
- Se permite una nueva línea final opcional.
Python 2 , 59 bytes
Pruébalo en línea!
Imprime la primera mitad de la cadena seguida de su reverso. Es aburrido pero eficiente. Traté de extraer partes repetidas de
s
, especialmente el-
, pero no encontré nada más corto.Python 2 , 59 bytes
Pruébalo en línea!
Usando la construcción de Jo King .
Python 2 , 62 bytes
Pruébalo en línea!
Imprime la primera mitad de cada línea, seguida de
'x'
, seguida de la primera mitad invertida.fuente
Carbón de leña , 15 bytes
Pruébalo en línea! El enlace es a la versión detallada del código. A modo de explicación, mostraré el resultado después de cada uno de los comandos de dibujo hasta la reflexión final:
fuente
Python 3 ,
6562 bytesPruébalo en línea!
fuente
Dyalog APL, 36 bytes
Pruébalo en línea!
Con un poco de ayuda de Adám.
fuente
Python 3, 75 bytes
Probablemente golfable: nunca antes había probado desafíos de complejidad kolmogorov .
Pruébalo en línea!
En Python 2 pude llevarlo a 76 bytes
fuente
Perl 5 , 55 bytes
Pruébalo en línea!
fuente
APL (Dyalog Classic) , 35 bytes
Pruébalo en línea!
fuente
Pip
-l
,423934 bytesPruébalo en línea!
Solución alternativa, también 34 bytes:
Pruébalo en línea!
fuente
Python 2 ,
696866 bytes-2 gracias a Jo King
Pruébalo en línea!
Nos ciclo de los siguientes tres patrones infinitamente (6 veces es suficientemente infinita para nuestros propósitos) y el tramo de los 6 primeros caracteres de cada uno:
-
,|
, y| |--
. Luego, para obtener la cancha de tenis, concatenamos unax
y el reverso de cada línea.fuente
J , 53 bytes
Pruébalo en línea!
fuente
MBASIC , 82 bytes
Abusar de la directiva WIDTH me ahorró alrededor de 20 bytes.
fuente
K (ngn / k) , 34 bytes
Pruébalo en línea!
Puerto de respuesta K4. 2 bytes guardados con el
4\
, 1 byte perdido debido a+
fuente
05AB1E ,
2524 bytesPruébalo en línea.
2524 bytes alternativa:Pruébalo en línea.
Explicación:
Vea esta sugerencia mía 05AB1E (sección ¿Cómo comprimir enteros grandes? ) Para comprender por qué
•L®y[Â-Γ•
es5960566858660563
y•B°”Ñ•
es193812448
.Gracias al generador de arte ASCII de @MagicOctopusUrn para
•L®y[Â-Γ•5BžLR"\n -x|"‡
y•B°”Ñ•3BžLR" -|"‡
, después de lo cual, la transliteración se ha mejorado aún más al intercambiar el número y la cadena en la pila, usar enв
lugar deB
e indexar en la cadena conè
.fuente
Chicle , 28 bytes
Pruébalo en línea!
fuente
Jalea , 22 bytes
Pruébalo en línea!
fuente
V , 25 bytes
Pruébalo en línea!
Hexdump:
Aquí estaba mi proceso:
Versión alternativa:
Hexdump:
fuente
JavaScript (Node.js) , 76 bytes
Pruébalo en línea!
JavaScript (Node.js) , 75 bytes
Pruébalo en línea!
fuente
Rojo ,
9880 bytesPruébalo en línea!
fuente
Pyth , 32 bytes
Pruébelo en línea aquí . El código anterior contiene algunos caracteres extraños, por lo que copiar / pegar probablemente no funcionará.
Imprime la primera mitad del patrón, seguido de su reverso sin la central
x
.fuente
Powershell,
6059 bytes-1 bytes gracias @AdmBorkBork
fuente
[0,1+2..0]
Stax , 19 bytes
Ejecutar y depurarlo
fuente
C # (.NET Core) , 88 bytes
Pruébalo en línea!
Sin golf:
Aquí hay una forma alternativa de hacerlo con una función anónima basada en la respuesta de adrianmp del primer hilo de Let's Play Tennis:
C # (.NET Core) , 88 bytes
Pruébalo en línea!
Sin golf:
fuente
K4 ,
3635 bytesSolución:
Ejemplo:
Explicación:
Queremos generar una lista de índices en la matriz
"x-| "
, p. Ej.Para generar esto, podemos tomar la representación en base 4 del giro de estos números. Esto nos da:
Podemos tomar los distintos valores e índices en los índices que requerimos:
Esta matriz
1 0 0 1 2 2 3 2 2 1 0 0 1
convertida a base-4 esEntonces, para la solución, solo estamos haciendo estos pasos a la inversa.
fuente
/// , 46 bytes
Pruébalo en línea!
fuente