체스판에서의 거리 1초 64MB
문제
8 * 8 체스판에서 King, Queen, Rook, Bishop은 다음과 같이 움직인다.

King : 상하좌우로 인접한 한 칸과, 대각선으로 한 칸 움직일 수 있다. Queen : 상하좌우로 움직일 수 있으며, 대각선으로도 여러칸 움직일 수 있다. Rook : 상하좌우로만 움직일 수 있다. Bishop : 오직 대각선으로만 움직일 수 있다.
2개의 체스판의 좌표가 주어졌을 때, 각각의 말이 움직이기 위한 최소의 턴 횟수를 출력하는 프로그램을 작성하라.
입력
입력은 2개의 좌표가 주어진다. 좌표는 2개의 문자로 이루어져 있으며, 앞의 문자는 열에 대한 문자, 뒤의 문자는 행에 대한 문자를 뜻한다. 앞의 문자의 경우 a가 맨 오른쪽이고, h가 맨 왼쪽이며, 뒤의 문자는 1이 가장 위이며, 8이 가장 아래를 뜻한다.
출력
시작 좌표에서 끝 좌표로 이동했을 때의 King, Queen, Rook, Bishop의 최소 이동횟수를 공백을 사이에 두고 출력한다. 불가능할 경우는 “INF”를 출력한다.
예제 #1
a1 c3
2 1 2 1
예제 #2
f5 f8
3 1 1 INF