¿Qué pasa si tenemos un corredor compuesto por dos espejos paralelos?
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
Ahora, le damos brillo a un láser ...
| \ |
| \ |
| \ |
| \ |
| \ |
| \ |
| \ |
| \|
| /|
| / |
Oh mira. Rebotó, hacia el final, allí.
¿Qué pasa si dibujamos dos láseres PERO yendo en la dirección opuesta?
| \ / |
| \ / |
| \/ |
| /\ |
| / \ |
| / \ |
| / \ |
|/ \|
|\ /|
| \ / |
Hmm, no parecían encontrarse allí. Eso es conveniente ¿Qué sucede si ambos láseres ocupan el mismo espacio?
| \ / |
| \ / |
| \ / |
| X |
| / \ |
| / \ |
| / \ |
| / \|
|/ /|
|\ / |
Supongo que fue bastante obvio, ¿eh?
Dibujar estos diagramas a mano es bastante laborioso (confía en mí en esto). ¿Quizás algún código podría hacerlo por nosotros?
- Escriba un código para generar dos espejos paralelos, con dos láseres que se cruzan y se cruzan.
- Entrada (todos los enteros):
- El ancho del corredor
- La longitud del corredor
- Posición inicial del láser que se dirige hacia la derecha (indexado a cero, debe ser inferior al ancho)
- Posición inicial del láser izquierdo (indexado a cero, debe ser inferior al ancho)
- Proceso
- Si un láser funciona correctamente, se dibujará un espacio a la derecha en la siguiente línea.
- Si se deja en funcionamiento un láser, se dibujará un espacio a la izquierda en la siguiente línea.
- Si un láser no puede dar el paso lateral, cambiará su dirección, pero no su posición.
- Si ambos láser están en el mismo índice, imprima una X mayúscula en ese índice.
- Salida
- Una cadena con varias líneas.
- Cada línea comienza y termina con un carácter de tubería (|)
- El láser a la derecha se denota con una barra diagonal inversa (\)
- El láser izquierdo se denota con una barra diagonal (/)
- La intersección de dos láseres se denota con una X mayúscula.
- Cualquier idioma
- Me gustaría ver enlaces TIO
- Intenta arreglarlo en el menor número de bytes
Casos de prueba
ancho: 6 longitud: 10 a la derecha: 1 a la izquierda: 4
| \ / |
| \/ |
| /\ |
| / \ |
|/ \|
|\ /|
| \ / |
| \/ |
| /\ |
| / \ |
ancho: 6 longitud: 10 derecha: 0 izquierda: 1
|\/ |
|/\ |
|\ \ |
| \ \ |
| \ \ |
| \ \|
| \/|
| /\|
| / /|
| / / |
ancho: 4 largo: 10 a la derecha: 2 a la izquierda: 0
|/ \ |
|\ \|
| \ /|
| X |
| / \|
|/ /|
|\ / |
| X |
|/ \ |
|\ \|
ancho: 20 longitud: 5 a la derecha: 5 a la izquierda: 15
| \ / |
| \ / |
| \ / |
| \ / |
| \ / |
ancho: 5 longitud: 6 derecha: 2 izquierda: 2
| X |
| / \ |
|/ \|
|\ /|
| \ / |
| X |
ancho: 1 longitud: 2 derecha: 0 izquierda: 0
|X|
|X|