Problema
Dada una entrada a
donde a es una cuadrícula de caracteres en cualquier formato de entrada, siempre que tenga solo un elemento para cada 'bloque' de la salida.
E ingrese b
donde b es una cuadrícula de números del mismo tamaño que la entrada a
.
Hay dos tipos de camino, un 1 representa un camino de piedra marcado por @
y un 2 representa un camino de tierra marcado por#
- Una
@
carretera está centrada en el bloque y tiene un tamaño de 6x6, si una carretera es adyacente, ese lado se extiende hasta el borde de la celda de la cuadrícula - Una
#
carretera está centrada en el bloque de tamaño 4x4, si una carretera es adyacente, ese lado se extiende hasta el borde de la celda de la cuadrícula
Genere un desplazamiento de cuadrícula por el número de línea de 8x8 del carácter ASCII en la entrada a
y superponga un 'camino' desde la entrada, b
por ejemplo
Entrada a=[[a,b,a],[b,a,b],[a,b,a]] b=[[1,1,1],[2,0,1],[2,0,0]]
Salida:
Paso 1: la cuadrícula (representación 8x8 de entrada a
)
aaaaaaaabbbbbbbbaaaaaaaa
aaaaaaaabbbbbbbbaaaaaaaa
aaaaaaaabbbbbbbbaaaaaaaa
aaaaaaaabbbbbbbbaaaaaaaa
aaaaaaaabbbbbbbbaaaaaaaa
aaaaaaaabbbbbbbbaaaaaaaa
aaaaaaaabbbbbbbbaaaaaaaa
aaaaaaaabbbbbbbbaaaaaaaa
bbbbbbbbaaaaaaaabbbbbbbb
bbbbbbbbaaaaaaaabbbbbbbb
bbbbbbbbaaaaaaaabbbbbbbb
bbbbbbbbaaaaaaaabbbbbbbb
bbbbbbbbaaaaaaaabbbbbbbb
bbbbbbbbaaaaaaaabbbbbbbb
bbbbbbbbaaaaaaaabbbbbbbb
bbbbbbbbaaaaaaaabbbbbbbb
aaaaaaaabbbbbbbbaaaaaaaa
aaaaaaaabbbbbbbbaaaaaaaa
aaaaaaaabbbbbbbbaaaaaaaa
aaaaaaaabbbbbbbbaaaaaaaa
aaaaaaaabbbbbbbbaaaaaaaa
aaaaaaaabbbbbbbbaaaaaaaa
aaaaaaaabbbbbbbbaaaaaaaa
aaaaaaaabbbbbbbbaaaaaaaa
Paso 2: superposición con carreteras representadas por b
:
aaaaaaaabbbbbbbbaaaaaaaa
a@@@@@@@@@@@@@@@@@@@@@@a
a@@@@@@@@@@@@@@@@@@@@@@a
a@@@@@@@@@@@@@@@@@@@@@@a
a@@@@@@@@@@@@@@@@@@@@@@a
a@@@@@@@@@@@@@@@@@@@@@@a
a@@@@@@@@@@@@@@@@@@@@@@a
a@@@@@@abbbbbbbba@@@@@@a
bb####bbaaaaaaaab@@@@@@b
bb####bbaaaaaaaab@@@@@@b
bb####bbaaaaaaaab@@@@@@b
bb####bbaaaaaaaab@@@@@@b
bb####bbaaaaaaaab@@@@@@b
bb####bbaaaaaaaab@@@@@@b
bb####bbaaaaaaaab@@@@@@b
bb####bbaaaaaaaabbbbbbbb
aa####aabbbbbbbbaaaaaaaa
aa####aabbbbbbbbaaaaaaaa
aa####aabbbbbbbbaaaaaaaa
aa####aabbbbbbbbaaaaaaaa
aa####aabbbbbbbbaaaaaaaa
aa####aabbbbbbbbaaaaaaaa
aaaaaaaabbbbbbbbaaaaaaaa
aaaaaaaabbbbbbbbaaaaaaaa
Paso 3: Compense cada línea con número de lino:
aaaaaaaabbbbbbbbaaaaaaaa
a@@@@@@@@@@@@@@@@@@@@@@a
a@@@@@@@@@@@@@@@@@@@@@@a
a@@@@@@@@@@@@@@@@@@@@@@a
a@@@@@@@@@@@@@@@@@@@@@@a
a@@@@@@@@@@@@@@@@@@@@@@a
a@@@@@@@@@@@@@@@@@@@@@@a
a@@@@@@abbbbbbbba@@@@@@a
bb####bbaaaaaaaab@@@@@@b
bb####bbaaaaaaaab@@@@@@b
bb####bbaaaaaaaab@@@@@@b
bb####bbaaaaaaaab@@@@@@b
bb####bbaaaaaaaab@@@@@@b
bb####bbaaaaaaaab@@@@@@b
bb####bbaaaaaaaab@@@@@@b
bb####bbaaaaaaaabbbbbbbb
aa####aabbbbbbbbaaaaaaaa
aa####aabbbbbbbbaaaaaaaa
aa####aabbbbbbbbaaaaaaaa
aa####aabbbbbbbbaaaaaaaa
aa####aabbbbbbbbaaaaaaaa
aa####aabbbbbbbbaaaaaaaa
aaaaaaaabbbbbbbbaaaaaaaa
aaaaaaaabbbbbbbbaaaaaaaa
Reglas:
- Se permiten espacios en blanco o nuevas líneas.
- Se permiten espacios en blanco al final y nuevas líneas.
- Este es el código de golf, por lo que el código más corto gana
Aquí hay un caso de prueba adicional con todos los casos límite en los que puedo pensar.
a
es más pequeña que la matrizb
.['.', ',', '.', ',', '.', ',', '.']
, pero la salida es como esa fila era[',', '.', ',', '.', ',', '.', ',']
. Además, lo que le impide tener esto como salida de su caso de prueba: gist.github.com/anonymous/dfcf3b754464f3ca4394d34e9f3bf123 Observe que el segundo 1 de la primera fila de la entrada b es adyacente a dos 2. ¿Por qué elegiste conectarlo solo a los primeros 2 (en la misma fila)?Respuestas:
JavaScript (ES6), 250
207bytesEditar corrección de errores :(
Una función que toma entradas en la sintaxis de curry (a) (b).
Menos golf
Prueba
fuente
PHP 857 bytes
Realmente no es lo que alguien podría llamar "golf", pero como nadie más parece haber ingresado nada, pensé que esto era un comienzo. Es masivo, pero parece funcionar. Haré un esfuerzo para jugar golf mañana si tengo tiempo.
Caso de prueba
Salida
Caso de prueba
Salida
Caso de prueba
Salida
fuente
Java - 661 bytes
¡Hola! Esta es mi primera presentación aquí. Si hice algo mal por favor dímelo.
Puedes probarlo aquí :)
No minificado:
fuente
and
s a bitwiseand
s&&
->&
por unos pocos bytes.c='#',d=6,e=1
entonces puede eliminar el else `else {c = '#'; e = 1; d = 6;}`JavaScript: 299 bytes
Pruébalo aquí
fuente
PHP,
275 268 266 264252 bytestoma datos de los parámetros GET
a
y losb
imprime en STDOUT. Pruébalo en línea.Descompostura
fuente