O Movimento do Cavalo

Você tem um tabuleiro de 8x8 em que as linhas são numeradas de 0 a 7 de cima para baixo, e as colunas são numeradas de 0 a 7 da esquerda para a direita. Um cavalo está posicionado na casa (a, b) do tabuleiro. O cavalo pode se mover de acordo com as regras padrão de xadrez para essa peça, que são:
  • O cavalo pode se deslocar em formato de “L”, dando dois passos em uma direção (horizontal ou vertical) e depois um passo perpendicular à direção inicial.
  • O cavalo não pode se mover para fora dos limites do tabuleiro 8x8.
Cada movimento do cavalo tem um custo. O custo de mover o cavalo da posição para a posição é definido como y⋅r + x⋅c.
Dada a posição inicial do cavalo na casa (a, b), sua tarefa é calcular e apresentar o custo mínimo necessário para deslocar o cavalo de (a, b) até todas as outras casas do tabuleiro.
Escreva um programa que receba a posição inicial do cavalo e exiba o custo mínimo para cada casa do tabuleiro.

Entrada

A entrada consiste em uma única linha com dois inteiros separados por espaço, a e b (0 ≤ a, b ≤ 7), que representam a posição inicial do cavalo.

Saída

Imprima oito linhas, cada uma com oito inteiros separados por espaço. O i-ésimo inteiro na j-ésima linha representa o custo mínimo para mover o cavalo da posição (a, b) até a posição (i, j) no tabuleiro 8x8.

Exemplos

Entrada
Saída
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