Aqui está uma abóbora ASCII esculpida em uma Jack-o-Lantern. Não é fofo?
((^v^))
Aqui está um fantasma ASCII. Olha como é assustador!
\{O.O}/
Obviamente, as abóboras precisam estar no chão, com um espaço entre elas para não apodrecer.
Os fantasmas, no entanto, gostam de ficar em cima de abóboras, então são ainda mais assustadores . No entanto, eles têm que ficar em duas abóboras, caso contrário, seu peso fantasmagórico esmagará a abóbora por baixo delas. Mas, devido à forma como sua mágica fantasmagórica funciona, vários fantasmas podem empilhar e compartilhar abóboras, desde que os fantasmas sejam divididos igualmente nas abóboras inferiores ou nos fantasmas inferiores. Em outras palavras, formando uma pirâmide humana . Observe que os fantasmas não podem acumular fantasmas a menos que haja uma abóbora por baixo (é assim que a mágica funciona).
Dado dois números inteiros não negativos g
e p
, representando o número de g
hosts e p
umpkins, produz a formação mais à esquerda mais compacta possível, seguindo as regras de empilhamento da pirâmide acima. Sobras de abóboras e fantasmas (ou seja, aqueles que não formam a pirâmide) caem no chão à direita.
Para esclarecimento, essas formações estão OK (nova linha em branco separada) e servem como exemplo de E / S:
0p 1g
\{O.O}/
1p 0g
((^v^))
1p 1g
((^v^)) \{O.O}/
2p 1g
\{O.O}/
((^v^)) ((^v^))
2p 2g
\{O.O}/
((^v^)) ((^v^)) \{O.O}/
3p 1g
\{O.O}/
((^v^)) ((^v^)) ((^v^))
3p 2g
\{O.O}/ \{O.O}/
((^v^)) ((^v^)) ((^v^))
3p 3g
\{O.O}/
\{O.O}/ \{O.O}/
((^v^)) ((^v^)) ((^v^))
0p 4g
\{O.O}/ \{O.O}/ \{O.O}/ \{O.O}/
3p 0g
((^v^)) ((^v^)) ((^v^))
7p 6g
\{O.O}/
\{O.O}/ \{O.O}/
\{O.O}/ \{O.O}/ \{O.O}/
((^v^)) ((^v^)) ((^v^)) ((^v^)) ((^v^)) ((^v^)) ((^v^))
Essas formações não estão OK
\{O.O}/
((^v^))
\{O.O}/
((^v^))
((^v^)) ((^v^)) \{O.O}/
\{O.O}/
\{O.O}/
((^v^)) ((^v^))
\{O.O}/
\{O.O}/ ((^v^)) ((^v^))
((^v^))
((^v^)) ((^v^))
\{O.O}/
((^v^)) ((^v^))
Entrada
Dois números inteiros não negativos em qualquer formato conveniente . Pelo menos um dos números será diferente de zero. Você pode pegar as entradas em qualquer ordem (ou seja, nos exemplos que eu tinha abóboras primeiro) - especifique como você recebe as entradas na sua resposta.
Resultado
Uma representação em arte ASCII dos fantasmas e abóboras, seguindo as regras acima. Novas linhas iniciais / finais ou outro espaço em branco são opcionais, desde que os fantasmas e as abóboras se alinhem adequadamente.
Regras
- Um programa completo ou uma função são aceitáveis. Se uma função, você pode retornar a saída em vez de imprimi-la.
- As brechas padrão são proibidas.
- Isso é código-golfe, portanto todas as regras usuais de golfe se aplicam e o código mais curto (em bytes) vence.