Files
problemas-para-competicao-p…/knight-moves/knight-moves.tex

47 lines
1.8 KiB
TeX

\documentclass{maratona}
\begin{document}
\begin{ProblemaAutor}{}{Movimento do Cavalo}{1}{256}{Spoj NAKANJ - Minimum Knight moves}
Anjali e Nakul são grandes amigos, mas recentemente tiveram uma briga enquanto jogavam xadrez.
Nakul, que é excelente em programação, escreveu um programa para descobrir o número mínimo de movimentos que um cavalo precisa para ir de uma casa a outra no tabuleiro ($8 \times 8$).
Agora ele quer saber se Anjali consegue fazer o mesmo.
Um cavalo se move em formato de “L”: dois quadrados em uma direção (horizontal ou vertical) e depois um quadrado em direção perpendicular.
Um movimento é válido apenas se o cavalo permanecer dentro dos limites do tabuleiro.
Sua tarefa é ajudar Anjali a determinar o número mínimo de movimentos necessários para o cavalo ir de uma posição inicial até uma posição de destino.
\begin{figure}[h]
\centering
\includegraphics[width=0.4\textwidth]{knight-moves.png}
\caption{Movimentos possíveis de um cavalo no tabuleiro.}
\end{figure}
\Entrada
A primeira linha contém um inteiro $T$ ($1 \leq T \leq 100$), o número de casos de teste.
Cada uma das próximas $T$ linhas contém duas strings — \texttt{inicio} e \texttt{destino} — separadas por um espaço.
Cada string representa uma casa válida do tabuleiro:
o primeiro caractere é uma letra de `a' a `h', e o segundo é um dígito de `1' a `8'.
\Saida
Para cada caso de teste, imprima o número mínimo de movimentos necessários para o cavalo alcançar o destino a partir da posição inicial.
\ExemploEntrada
\begin{Exemplo}
\texttt{3} & \texttt{6}\\
\texttt{a1~h8} & \texttt{1}\\
\texttt{a1~c2} & \texttt{4}\\
\texttt{h8~c3} & \\
\rowcolor{gray!20}\texttt{1} & \texttt{0}\\
\rowcolor{gray!20}\texttt{a1~a1} & \\
\end{Exemplo}
\end{ProblemaAutor}
\end{document}