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
Salida:
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
Salida:
.XX
..XX
...XX
....XX
.....XX
..XX..XX
...XX..XX
....XX..XX
.....XX..XX
Especificación:
- Debes tomar como entrada
- Una bandera que indica si la luz proviene de la parte superior izquierda o superior derecha. Esto puede ser
1o2,-1o1,0o65536, o lo que sea conveniente para usted, siempre y cuando ambos indicadores sean enteros. - Filas compuestas por uno
Xotodos, todos de la misma longitud en caracteres (es decir, rellenados con)- Todos
Xs estarán en la última fila oXdebajo de ellos (lo que significa que no hay edificios flotantes)
- Todos
- Una bandera que indica si la luz proviene de la parte superior izquierda o superior derecha. Esto puede ser
- Debe generar las filas (edificios) con sombras agregadas. Esto se hace con el siguiente procedimiento:
- Si la luz proviene de la esquina superior izquierda, dibuje un triángulo rectángulo de
.s con la misma altura y anchura que la altura del edificio, comenzando desde un espacio más allá de su borde derecho y hacia la derecha. - De lo contrario, si es desde la parte superior derecha, haga lo mismo, pero comience desde un espacio más allá de su borde izquierdo y apunte hacia la izquierda.
- Recuerda no alterar
Xs cambiándolos a.s; déjalos como están. - Siempre habrá "espacio" para sus sombras, es decir, si hay un edificio de 3 espacios de altura al final, habrá al menos 3 espacios de relleno después.
- Si la luz proviene de la esquina superior izquierda, dibuje un triángulo rectángulo de
- Este es el código de golf , por lo que el código más corto en bytes ganará
potatoy while(1){}. Como se cita en la pregunta, "lo que sea conveniente".
Regex.Replaceque no puedo solucionar ... ¿Tengo dos problemas ahora?
{}y{-1*}como valores de bandera?