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
1ou2,-1ou1,0ou65536, ou o que for conveniente para você, desde que os dois sinalizadores sejam inteiros. - Linhas compostas por um
Xoucom o mesmo comprimento em caracteres (ou seja, preenchidas com)- Todos os
Xs estarão na última linha ou terão umXsob 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
Xs 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á!
potatoe while(1){}. Como citado na pergunta, "o que for conveniente".
Regex.Replaceque eu não posso resolver ... eu tenho dois problemas agora?
{}e{-1*}como valores de sinalizador?