Problema
Dada a entrada em a
que a é uma grade de caracteres em qualquer formato de entrada, desde que tenha apenas um elemento para cada 'bloco' da saída.
E insira b
onde b é uma grade de números do mesmo tamanho que a entrada a
.
Existem dois tipos de estrada, um 1 representa uma estrada de pedra marcada por @
e um 2 representa uma estrada de terra marcada por#
- Uma
@
estrada é centralizada no bloco e tem o tamanho 6x6; se uma estrada for adjacente, esse lado será estendido para a borda da célula da grade - Uma
#
estrada centralizada no bloco é do tamanho 4x4; se uma estrada é adjacente, esse lado é estendido para a borda da célula da grade
Emita um deslocamento da grade pelo número da linha de 8x8 do caractere ASCII na entrada a
e sobreponha uma 'estrada' da entrada, b
por exemplo
Entrada a=[[a,b,a],[b,a,b],[a,b,a]] b=[[1,1,1],[2,0,1],[2,0,0]]
Resultado:
Etapa 1: a grade (representação 8x8 da 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
Etapa 2: sobreposição com estradas 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
Etapa 3: desloque cada linha com o número da roupa:
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
Regras:
- Espaços em branco à esquerda ou novas linhas permitidos.
- Espaço em branco à direita e novas linhas permitidas.
- Isso é código-golfe, então o código mais curto ganha
Aqui está um caso de teste extra com todos os casos extremos em que posso pensar.
a
é menor que a matrizb
.['.', ',', '.', ',', '.', ',', '.']
, mas a saída é como aquela linha era[',', '.', ',', '.', ',', '.', ',']
. Além disso, o que impede que você tenha isso como saída do seu caso de teste: gist.github.com/anonymous/dfcf3b754464f3ca4394d34e9f3bf123 Observe que o segundo 1 da primeira linha da entrada b é adjacente aos dois 2s . Por que você optou por conectá-lo apenas aos 2 primeiros (na mesma linha)?Respostas:
JavaScript (ES6), 250
207bytesEditar correção de bug :(
Função que recebe entradas na sintaxe de curry (a) (b).
Menos golfe
Teste
fonte
PHP 857 bytes
Não é exatamente o que alguém poderia chamar de "jogador de golfe", mas como ninguém mais parece ter entrado em nada, achei que isso era um começo. É enorme, mas parece funcionar. Farei um esforço para jogar amanhã, se eu tiver tempo.
Caso de teste
Resultado
Caso de teste
Resultado
Caso de teste
Resultado
fonte
Java - 661 bytes
Oi! Esta é a minha primeira submissão aqui. Se eu fiz algo errado, por favor me diga.
Você pode experimentá-lo aqui :)
Desminificado:
fonte
and
s para bit a bitand
s&&
->&
por alguns bytes.c='#',d=6,e=1
, poderá remover o resto `else {c = '#'; e = 1; d = 6;}`JavaScript - 299 bytes
Experimente aqui
fonte
PHP,
275 268 266 264252 bytesrecebe entrada dos parâmetros GET
a
eb
imprime em STDOUT. Experimente online.demolir
fonte