Entonces, su tarea es tomar un bloque de 3x3 donde -
estén los espacios en blanco medios y *
los espacios llenos medios, por ejemplo:
-**
-*-
*-*
y reorganizar el bloque para que *
forme una X, así:
*-*
-*-
*-*
Entrada: 3x3 cuadrados como los anteriores, pueden ser 3 líneas, una matriz, o como quieras.
Salida: la cantidad más corta de movimientos para reorganizar en una X. Cada movimiento es voltear 2 personajes que se tocan, y son horizontales entre sí, verticales entre sí o diagonales entre sí. Si no es posible, devuelva cualquier salida imposible, por ejemplo 999
o -4242
. 5
es el número más pequeño
Casos de prueba:
1) Salida: 1
-**
-*-
*-*
2) Salida: -1
-*-
-*-
*-*
3) Salida: 3
---
-**
***
4) Salida: 0
*-*
-*-
*-*
Puede sustituir los caracteres en blanco y no en blanco, pero asegúrese de incluir cuál es cuál en su publicación
Code Golf
Recuerde que este es el código de golf, ¡el código más corto gana!
*
? ¿Puedes agregar algunos casos de prueba más?
*
o menos de 5 lo hace imposible.
-1
? Por ejemplo 5
(imposible de otro modo), o arrojando un error?
*
y viceversa, o intercambiarlos?