Su tarea es encontrar el destino total de los objetos que están cayendo a un planeta, obtendrá entradas como esta:
7
...#...
.......
#..O..#
.......
...#...
.......
.......
donde O es el planeta y # son los objetos, tenga en cuenta que el planeta atraerá objetos desde las direcciones básicas (NOTICIAS). Deberías generar:
#
#O#
#
es decir, los objetos después de llegar a su destino.
El primer número dado como entrada es la longitud de la cuadrícula (nxn), en el ejemplo anterior es 7.
El objeto siempre debe moverse en la dirección más corta (tenga en cuenta que las direcciones permitidas son solo horizontales y verticales; el objeto no puede moverse en diagonal)
Si un objeto es equidistante de dos direcciones, debe ir en sentido horario:
..#
...
O..
Llegará a este lado:
...
...
O#.
Si un objeto choca con el planeta, se detendrá. Si choca con otro objeto, se convierten en un objeto,
4
.#..
#...
....
.O..
se convertiría:
....
....
.#..
.O..
Un último ejemplo:
6
..#...
.#....
......
.#O...
....#.
......
Salida:
......
......
..#...
.#O#..
......
......
Nota: Debe generar la forma final, de modo que todas las salidas se acepten siempre que muestren la forma final del planeta.
por ejemplo para esta entrada:
...#
....
.O..
....
Debería dar salida:
O#
o
....
....
.O#.
....
Ambos son aceptados.
Este es el código de golf, por lo que la respuesta más corta ganará
Nota 2:
Como habrás notado, un .
representa el vacío, por lo que el camino más corto es el menor número de puntos.
Por ejemplo:
.#.
...
.O.
No se acepta ser
O#
ya que el camino más corto es vertical. Nota 3:
El objeto siempre debe moverse para estar en la misma línea con el planeta en una de las cuatro direcciones (elegir la más corta)
|<#
|
|
-----O------
|
Restricciones:
2 <= n <= 100