Você se encontra em um tabuleiro de xadrez, como se faz. Você pode ver a saída, mas é muito longe e você prefere não andar até o fim. Felizmente, alguns locais ofereceram uma carona. Um cavaleiro, uma torre, um bispo e um rei estão todos dispostos a levá-lo ao seu destino, mas, vendo como este é um tabuleiro de xadrez, cada um deve respeitar as regras do xadrez no caminho para o seu destino. Gostaria de sair daqui o mais rápido possível, cuja oferta você aceita?
Tarefa
Dado um tabuleiro de xadrez de tamanho e formato arbitrário e dois pontos no tabuleiro, produza a peça de xadrez que pode se mover entre os dois locais no menor número de movimentos possível. Os painéis não serão necessariamente contínuos, o que significa que pode haver lacunas entre as seções do painel. Cada uma das quatro peças (rei, torre, cavaleiro e bispo) pode se mover de acordo com suas regras padrão no xadrez. As peças da rainha e do peão foram intencionalmente deixadas de fora desse desafio.
I / O
Você pode receber entradas em qualquer formato razoável e também pode imprimir em qualquer formato que escolher. Sua entrada e saída devem ser autoconsistentes. Se várias peças puderem chegar ao destino com o mesmo número de movimentos, você deverá produzir todas as peças que podem chegar lá no período mínimo de tempo. Se nenhuma das quatro peças chegar ao fim, você poderá produzir qualquer coisa, desde que seja distinto de todas as outras saídas possíveis. Isso pode incluir não produzir nada ou gerar um erro.
Casos de teste
Um quadrado indica o ponto inicial e um círculo indica o ponto final.
Bispo
Cavaleiro
Rei
Torre
Cavaleiro Rei
Nenhum