Bolos em rolo são deliciosos doces feitos com uma camada de pão de ló, uma camada de creme (ou sorvete), enrolada em espiral, consulte a Wikipedia .
Sua tarefa é obter uma sequência de frases não vazia da entrada padrão, remover os espaços e enrolá-la como um bolo, começando do centro da direita para a esquerda no sentido anti-horário, enquanto os espaços começam na parte inferior da primeira caractere de frase, do centro da esquerda para a direita, como no exemplo a seguir.
Observe que a frase será a camada de pão de ló e a camada de creme será representada como espaços vazios.
Input: Lorem ipsum dolor sit amet, consectetu adipiscing elit, sed do eiusmod
Output with spaces ' ' represented as _
ilegnicsip
t________i
,_srolod_d
s_i____m_a
e_t_oL_u_u
d_a_r__s_t
d_m_emip_e
o_e______t
e_t,consec
i____
usmod
Casos de teste
Input: Lorem ipsum dolor sit amet, consectetu adipiscing elit, sed do eiusmod
Output:
ilegnicsip
t i
, srolod d
s i m a
e t oL u u
d a r s t
d m emip e
o e t
e t,consec
i
usmod
Input: Sandbox for Proposed Challenges
Output:
soporp
e r
d aS o
c n f
h dbox
a
llenges
Input: Cake
Output:
aC
k
e
Input: it
Output:
ti
Regras:
- Isso é código-golfe, então o código mais curto vence.
- As brechas padrão são proibidas.
Respostas:
Python 2,
202200 bytes-2 bytes graças a LevitatingLion
fonte
exec
:exec~i%4*'c=zip(*c[::-1]);'
. Isso economiza dois bytesBefunge,
260250 bytesExperimente online!
A idéia básica é que construamos a espiral na metade inferior do campo de jogo, mantendo o controle das coordenadas mín e máx à medida que avançamos. Depois que todas as entradas foram processadas, iteramos no intervalo de coordenadas e escrevemos o conteúdo que foi salvo.
Explicação detalhada
Observe que os valores dx e dy estão no intervalo de 0 a 3, correspondendo aos deslocamentos relativos -1, 0, 1, 0. A atualização da direção é feita com a adição de 1, módulo 4. A conversão para um deslocamento relativo é feita por subtraindo 1, módulo 2.
fonte