Entrada:
1
X
X
X
X XX XXXXXX X X X
X XX XXXXXX X X X
XXX X XX XXXXXX X X X
XXX X XX XXXXXX X X X
Saída:
X.
X..
X...
X.... XX. XXXXXX. X.X.X.
X..... XX.. XXXXXX.. X.X.X..
XXX. X......XX... XXXXXX... X.X.X...
XXX.. X......XX....XXXXXX.... X.X.X....
Entrada:
2
XX
XX
XX
XX
XX
XX XX
XX XX
XX XX
XX XX
Saída:
.XX
..XX
...XX
....XX
.....XX
..XX..XX
...XX..XX
....XX..XX
.....XX..XX
Especificação:
- Você deve tomar como entrada
- Uma bandeira indicando se a luz vem do canto superior esquerdo ou do canto superior direito. Pode ser
1
ou2
,-1
ou1
,0
ou65536
, ou o que for conveniente para você, desde que os dois sinalizadores sejam inteiros. - Linhas compostas por um
X
oucom o mesmo comprimento em caracteres (ou seja, preenchidas com
)
- Todos os
X
s estarão na última linha ou terão umX
sob eles (o que significa que não há edifícios flutuantes)
- Todos os
- Uma bandeira indicando se a luz vem do canto superior esquerdo ou do canto superior direito. Pode ser
- Você deve gerar as linhas (edifícios) com sombras adicionadas. Isso é feito com o seguinte procedimento:
- Se a luz estiver vindo do canto superior esquerdo, desenhe um triângulo retângulo de
.
s com a mesma altura e largura que a altura do edifício, começando de um espaço além da borda direita e indo para a direita. - Caso contrário, se for do canto superior direito, faça o mesmo, mas comece de um espaço além da borda esquerda e apontando para a esquerda.
- Lembre-se, não altere
X
s alterando-os para.
s; deixe-os como estão. - Sempre haverá "espaço" para as suas sombras, ou seja, se houver um edifício alto de três espaços no final, haverá pelo menos três espaços de preenchimento após ele.
- Se a luz estiver vindo do canto superior esquerdo, desenhe um triângulo retângulo de
- Isso é código-golfe , então o código mais curto em bytes vencerá!
potato
e while(1){}
. Como citado na pergunta, "o que for conveniente".
Regex.Replace
que eu não posso resolver ... eu tenho dois problemas agora?
{}
e{-1*}
como valores de sinalizador?