Les déplacements du Cavalier

Vous disposez d’une grille 8x8 dont les lignes sont numérotées de 0 à 7 de haut en bas, et les colonnes de 0 à 7 de gauche à droite. Un cavalier est placé dans la case (a, b) de cette grille. Le cavalier peut se déplacer selon les règles habituelles des échecs :
  • Le cavalier se déplace en forme de « L » : il effectue d’abord deux pas dans une direction (horizontalement ou verticalement), puis un pas dans une direction perpendiculaire.
  • Le cavalier ne peut pas sortir du cadre de la grille 8x8.
Chaque déplacement du cavalier a un coût. Le coût pour déplacer le cavalier de la position vers la position est défini comme y⋅r + x⋅c.
Étant donné la position initiale du cavalier dans la case (a, b), votre tâche consiste à calculer et afficher le coût minimal nécessaire pour déplacer le cavalier de (a, b) vers chacune des autres cases de la grille.
Écrivez un programme qui lit la position initiale du cavalier, puis produit le coût minimal pour chaque case de la grille.

Entrée

L’entrée se compose d’une seule ligne contenant deux entiers séparés par un espace, a et b (0 ≤ a, b ≤ 7), représentant la position initiale du cavalier.

Sortie

Affichez huit lignes, chacune contenant huit entiers séparés par un espace. Le iᵉ entier de la jᵉ ligne représente le coût minimal pour déplacer le cavalier de (a, b) à la case (i, j) dans la grille 8x8.

Exemples

Input
Output
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