Los movimientos del caballo

Se te proporciona una cuadrícula de 8x8 en la que las filas están numeradas de 0 a 7 de arriba hacia abajo, y las columnas están numeradas de 0 a 7 de izquierda a derecha. Un caballo está ubicado en la celda (a, b) de la cuadrícula. El caballo puede moverse según las reglas estándar del ajedrez para esta pieza, que son las siguientes:
  • El caballo se desplaza en forma de “L”: avanza dos casillas en una dirección (horizontal o vertical) y luego una casilla perpendicular a la dirección anterior.
  • El caballo no puede salir de los límites de la cuadrícula de 8x8.
Cada movimiento del caballo tiene un costo. El costo de mover el caballo desde la posición hasta la posición se define como y⋅r + x⋅c.
Dada la posición inicial del caballo en la celda (a, b), tu tarea es calcular y mostrar el costo mínimo necesario para mover el caballo desde (a, b) hasta cada una de las demás celdas de la cuadrícula.
Escribe un programa que lea la posición inicial (a, b) y muestre el costo mínimo para cada celda de la cuadrícula de 8x8.

Entrada

La entrada consiste en una única línea que contiene dos enteros separados por espacio, a y b (0 ≤ a, b ≤ 7), que representan la posición inicial del caballo.

Salida

Se deben mostrar ocho líneas, cada una con ocho números separados por espacio. El i-ésimo número en la j-ésima línea representa el costo mínimo requerido para mover el caballo desde (a, b) hasta la posición (i, j) en la cuadrícula de 8x8.

Ejemplos

Entrada
Salida
1 1
13 11 11 3 17 29 43 53 11 0 13 14 19 18 41 64 11 13 9 5 15 31 45 55 3 14 5 22 23 26 45 72 17 19 15 23 25 43 59 73 29 18 31 26 43 58 69 98 43 41 45 45 59 69 97 123 53 64 55 72 73 98 123 146
 
 

Constraints

Time limit: 2 seconds

Memory limit: 512 MB

Output limit: 1 MB

To check your solution you need to sign in
Sign in to continue