Vamos a definir una matriz no vacía, sin clasificar y finita con números únicos de la siguiente manera:
Vamos a definir 4 movimientos de matriz como:
- ↑ * (arriba): Mueve una columna hacia arriba
- ↓ * (abajo): mueve una columna hacia abajo
- → * (derecha): mueve una fila a la derecha
- ← * (izquierda): mueve una fila a la izquierda
El asterisco (*) representa la columna / fila que se ve afectada por el movimiento (puede estar indexado 0 o indexado. Depende de usted. Indique cuál en su respuesta).
El desafío es, usando los movimientos anteriores, ordenar la matriz en orden ascendente (siendo la esquina superior izquierda la más baja y la esquina inferior derecha la más alta).
Ejemplo
Entrada:
↑0
o ↓0
. (Observe que cualquiera de esos movimientos puede ordenar la matriz para que ambas respuestas sean correctas)
Entrada:
→0
Entrada (Ejemplo de caso de prueba):
↑0↑1←1↑2
Entrada:
↑0↑2→0→2↑0→2↑1↑2←1
↑2↑1←3→0←3↓0←0←2→3↑3↑4
Notas
- Puede haber diferentes resultados correctos (no es necesario que sean necesariamente los mismos que los casos de prueba o el más corto)
- Puede suponer que siempre será una forma de ordenar la matriz
- Bordes conecta (como pacman: v)
- No habrá una matriz con más de 9 columnas o filas
- Suponga que la matriz contiene solo enteros únicos positivos distintos de cero
- Puede usar 4 valores distintos que no sean números para representar los movimientos (en ese caso, indíquelo en su respuesta)
- La columna / fila puede ser 0 o 1 indexada
- Criterio ganador código-golf
Los casos de prueba adicionales siempre son bienvenidos
←0←0
una solución válida para el segundo ejemplo donde ha dado una solución como →0
. Si es así, creo que la mitad de las opciones de movimiento probablemente no se utilizarán.