Vi viene fornita una griglia 8x8, in cui le righe sono numerate da 0 a 7 dall’alto verso il basso e le colonne da 0 a 7 da sinistra a destra. Un cavallo si trova nella cella (a, b) della griglia. Il cavallo può muoversi secondo le regole standard degli scacchi, ovvero:
Può spostarsi a forma di “L”, effettuando due passi in una direzione (orizzontale o verticale) e poi uno in direzione perpendicolare.
Il cavallo non può uscire dal perimetro della griglia 8x8.
Ogni mossa del cavallo ha un costo. Il costo di spostare il cavallo dalla posizione alla posizione è definito come y⋅r + x⋅c.
Data la posizione iniziale del cavallo (a, b), il vostro compito è calcolare e mostrare il costo minimo necessario per spostare il cavallo da (a, b) a ogni altra cella della griglia.
Scrivete un programma che legga in input la posizione iniziale del cavallo e produca in output il costo minimo per ciascuna cella della griglia.
Input
L’input consiste in una singola riga con due interi separati da spazio, a e b (0 ≤ a, b ≤ 7), che indicano la posizione iniziale del cavallo.
Output
Stampate otto righe, ognuna contenente otto interi separati da spazio. L’i-esimo intero nella j-esima riga rappresenta il costo minimo per spostare il cavallo dalla posizione (a, b) alla posizione (i, j) nella griglia 8x8.