Hoje é o Dia do Bacon, e é provavelmente por isso que o nome do chapéu para participar hoje é "Mmmm Bacon". Que melhor maneira de comemorar o dia do bacon com divertidas matrizes 2D preenchidas feitas de bacon! Uma tira de bacon 1 por 1 é representada por isso:
-----
)===)
(===(
)===)
-----
Seu objetivo aqui é dado duas coordenadas em uma tupla, ( x
, y
), onde x
e y
são números inteiros positivos diferentes de zero, você deve criar o bacon e retornar em algum formato (lista, matriz, string).
Entrada e saída:
Input: (2, 1)
Output:
----------
)===))===)
(===((===(
)===))===)
----------
Input: (1, 2)
Output:
-----
)===)
(===(
)===)
-----
)===)
(===(
)===)
-----
Input: (2, 2)
----------
)===))===)
(===((===(
)===))===)
----------
)===))===)
(===((===(
)===))===)
----------
Regras:
Como você pode ver no segundo caso de teste, se vários pedaços de bacon forem empilhados juntos, apenas um será
-----
separado com cada pedaço de bacon acima e / ou abaixo dele. Isso significa que empilhar bacon como este é inválido:----- )===) (===( )===) ----- ----- )===) (===( )===) -----
As brechas padrão são proibidas
O trabalho de código imperativo para os casos de teste anteriores e às seguintes:
(4, 4)
,(1, 6)
,(5, 1)
,(2, 3)
,(3, 2)
Forneça um intérprete onde os casos de teste acima possam ser testados
Critérios de vencimento:
O código mais curto vence! Feliz Dia do Bacon a todos!
fonte
Respostas:
V ,
28, 26, 24 bytesExperimente online!
Explicação:
fonte
TI-Basic, 80 bytes
Este foi realmente bastante genial :)
fonte
Input
sem argumentos é inserido por padrão emX
eY
.Python 2.7, 74 bytes
Tenho certeza de que isso poderia ser um pouco mais divertido, mas é isso que eu criei (o recurso de multiplicação de strings do Python certamente é útil):
Experimente aqui !
Ungolfed com explicação:
fonte
Mathematica, 74 bytes
Função sem nome, recebendo dois argumentos inteiros positivos e retornando uma string com novas linhas. Uma abordagem padrão do Mathematica: crie uma matriz 2D de cadeias usando um seletor (mod 4) para alternar as cadeias na direção vertical e, em seguida, reduza-as para uma única cadeia.
fonte
Lote, 168 bytes
Infelizmente, não posso escrever de
@echo %s:==-%
outra forma que eliminaria a necessidade da segunda variável.fonte
&
...C,
9189 bytesfonte
05AB1E , 25 bytes
Código:
Explicação:
Usa a codificação CP-1252 . Experimente online!
fonte
05AB1E ,
3230 bytesEconomizou 2 bytes graças a Adnan .
Experimente online!
Explicação
fonte
")===)"
por…)==û
:)Python 2 , 70 bytes
Obrigado a @xnor por salvar 4 bytes!
Experimente online!
fonte
[_::3]
seria mais curto.2**n%5%3
quais ciclos[1, 2, 1, 0, 1, 2, 1, 0, ...]
. Isso pode ser útil?Python 2, 59 bytes
Gera cada linha a
a+b*3+a
partir do caractere iniciala
e do caractere centralb
(do qual é calculadoa
). Oa
ciclo passa'-()('
, enquantob
é'-'
quandoa
é'-'
e de'='
outra forma.67 bytes:
Gera cada linha do seu carácter exterior
a
personagem e o centrob
comoa+b*3+a
, em seguida, imprimew
cópias deste. Estes ciclo via azip
.fonte
JavaScript,
132129121 bytes-8 bytes graças a @ user2428118
Provavelmente isso pode ser jogado mais. Se você tem uma sugestão, deixe nos comentários.
fonte
(x,y)=>eval('a=b=[d="-----",c=")===)","(===(",c,d];for(i=0;++i<y;)b=[...b,...a.slice(1)].map(v=>v.repeat(x)).join
_BACKTICK NEWLINE BACKTICK_;')
Lua, 132 bytes
Tentativa de cadeia longa e literal. Experimente aqui .
fonte
JavaScript (ES6), 78
Teste
fonte
Linguagem do GameMaker,
160139148 bytes133 bytesfonte
Geléia , 26 bytes
Este é um link diádico (função) que retorna uma matriz 2D.
Experimente online!
Como funciona
fonte
C,
159158153 bytesLigue para:
fonte
C #, 160 bytes
Versão formatada:
Experimente online! (por algum motivo, este link apresenta um erro, mas funciona de qualquer maneira)
fonte
Dardo,
125117 bytesExperimente aqui!
fonte
Dyalog APL, 55 bytes
Esta é a minha primeira vez usando o Dyalog APL, por isso tenho certeza de que essa não é a melhor abordagem.
Explicação: Essa é uma abordagem bastante simples, para uma grade de bacon de N × M, faço uma matriz N × (4M) das quatro seqüências a seguir, repetindo:
Então concatenar a string
-----
para o começo.Aqui está uma rápida explicação do código:
fonte
Tcl , 91 bytes
Experimente online!
fonte
PowerShell , 64 bytes
Experimente online!
fonte