Tome una bandera, como esta:
-----------------------------
| | |
| | |
|=============+=============|
| | |
| | |
-----------------------------
Y una entrada numérica: la "longitud de onda"
Digamos que la longitud de la onda fue 5. Luego, cada 5 caracteres a lo largo de la línea desde el principio, reemplace el siguiente carácter a -
con \
y desplace todos los caracteres una fila hacia abajo. Repita esto hasta el final. Terminas con:
-----\
| -----\
| -----\
|===== | -----\
| ====== | -----
| ==+=== |
-----\ | ====== |
-----\ | ====|
-----\ |
-----\ |
-----
Si al final no puede hacer una onda completa al final, la bandera está terminada. Solo permanece plano hasta el final.
Puede suponer que todas las líneas tienen la misma longitud y que las líneas superior e inferior están compuestas completamente por -
(0x2D) y que el resto de los caracteres están en !"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~
, o es un espacio ( ). (Entonces su valor ascii es
x
, donde 31 < x < 127
)
La bandera tendrá al menos 3 de alto y 3 de ancho.
La longitud de onda será un número entero no negativo (> = 0).
(También puede hacer que la longitud de onda 1 sea la longitud de onda más pequeña, por lo que el ejemplo anterior tendría una longitud de onda 6. Esto está bien).
Su E / S de bandera puede ser como matrices de líneas o una cadena con varias líneas.
El indicador de salida puede tener espacios finales, pero solo puede tener espacios iniciales siempre que sea el mismo en cada indicador. El espacio final en un indicador de entrada se puede eliminar.
Tanteo
Este es el código de golf, por lo que la solución más corta, en bytes, gana.
Casos de prueba
---
abc
---
2
--\
abc
--\
-----
| + |
-----
10
-----
| + |
-----
---------------------------------------
|&&&&&& &&&&&&|
|&&&&&& &&&&&&|
|&&&&&& &&&&&&|
|&&&&&& .\^/. &&&&&&|
|&&&&&& . | | . &&&&&&|
|&&&&&& |\| |/| &&&&&&|
|&&&&&& .--' '--. &&&&&&|
|&&&&&& \ / &&&&&&|
|&&&&&& > < &&&&&&|
|&&&&&& '~|/~~|~~\|~' &&&&&&|
|&&&&&& | &&&&&&|
|&&&&&& &&&&&&|
|&&&&&& &&&&&&|
---------------------------------------
12
------------\
|&&&&&& ------------\
|&&&&&& ------------\
|&&&&&& &&&&&&|
|&&&&&& &&&&&&|
|&&&&&& .\^/. &&&&&&|
|&&&&&& . | | . &&&&&&|
|&&&&&& . |\| |/| &&&&&&|
|&&&&&& --' '-- &&&&&&|
|&&&&&& \ /. &&&&&&|
|&&&&&& > < &&&&&&|
|&&&&&& '~|/~~|~~\|~' &&&&&&|
|&&&&&& | &&&&&&|
|&&&&&& &&&&&&|
------------\ &&&&&&|
------------\ &&&&&&|
------------\
-----------------------
|-._`-._ :| |: _.-'_.-|
| `-._`:| |:`_.-' |
|-------`-' '-'-------|
|------_.-. .-._------|
| _.-'_.:| |:._`-._ |
|-'_.-' :| |: `-._`-|
-----------------------
4
----\
|-._`----\
| `-._ :----\
|-----._`:| |: ----\
|-------`-| |:`_.-'_---
| _.--_.-' '-'_.-' .-|
|-'_.-'_.:. .-.----- |
----\-' :| |:._------|
----\| |: _`-._--|
----\ `-._ |
----\`-|
---
---------------
---------------
---------------
---------------
---------------
5
-----\
-----------\
---------------
---------------
-----\---------
-----\---
---
-------------------------------------------
|* * * * * |##########################|
| * * * * *| |
|* * * * * |##########################|
| * * * * *| |
|* * * * * |##########################|
| * * * * *| |
|* * * * * |##########################|
|--------------- |
|#########################################|
| |
|#########################################|
| |
|#########################################|
-------------------------------------------
0
\
|\
|*\
| \
|** \
| *\
|** \
| ** \
|** *\
|- ** \
|#- ** \
| #-** *\
|# #- ** \
| # #- ** \
\# # #-** *\
\# # #- ** \
\# # #- **|\
\# # #-** |#\
\# # #- **| #\
\# # #- |# #\
\# # #-**| # #\
\# # #- |# # #\
\# # #-| # # #\
\# # #-# # # #\
\# # # # # # #\
\# # # # # # #\
\# # # # # # #\
\# # # # # # #\
\# # # # # # #\
\# # # # # # #\
\# # # # # # #\
\# # # # # # #\
\# # # # # # #\
\# # # # # # #\
\# # # # # # #\
\# # # # # # #\
\# # # # # # #\
\# # # # # # #\
\# # # # # # #\
\# # # # # # #\
\# # # # # # #\
\# # # # # # #\
\# # # # # # #\
\# # # # # # |
\# # # # # #|
\# # # # # |
\# # # # #|
\# # # # |
\# # # #|
\# # # |
\# # #|
\# # |
\# #|
\# |
\#|
\|
\
fuente
Respuestas:
05AB1E ,
25232625 bytes-2 gracias a Adnan
-1 gracias a Emigna
+3 gracias a Jonathan Allan (¡gracias por pasar el tiempo para atrapar esa invalidez!)
Pruébalo en línea!
Esto está indexado en 1 en lugar de 0, +2 bytes si eso no está bien.
Emigna / Adnan / Anyone: debe haber una mejor solución para reemplazar esos sesgos, pero estoy perplejo.
fuente
ú
es lo mismoð×ì
:)Pyth , 35 bytes
Pruébalo en línea!
fuente
Python 2 , 129 bytes
Pruébalo en línea!
fuente
Jalea , 29 bytes
Las banderas de entrada y salida son listas de líneas.
La longitud de onda es 1 indexada.
Siempre produce una línea de espacios.
(todo lo anterior está explícitamente permitido en la pregunta publicada)
Pruébalo en línea! (pie de página para hacer que IO se vea bonita: toma y recibe banderas como texto multilínea)
¿Cómo?
Un método bastante similar a la respuesta 05ab1e de carusocomputing , que no he logrado jugar más al golf.
fuente
MATL , 31 bytes
Pruébalo en línea! O verifique todos los casos de prueba: 1 , 2 , 3 , 4 , 5 , 6 , 7 .
fuente
-
con el[\]
?JavaScript (ES6), 175 bytes
I / O es como una cadena delimitada por nueva línea. La salida incluye una nueva línea principal; Esto se puede eliminar a un costo de 3 bytes. Intenté calcular la cadena de salida directamente, pero eso me llevó ... 176 bytes:
I / O es como una matriz de cadenas.
fuente
PHP,
168 164 187 172 167 153 150 152149 bytestoma la bandera del archivo estático
a
y la longitud de onda (mínimo 1) de STDIN.Ejecutar como tubería
php -nr
o probarlo en línea .Descompostura
fuente
$z&&$z!=$r-1
debería ser equivalente a$z%($r-1)
guardar 3 bytes.