여행 경로
시간 제한3초메모리 제한1024 MB
좋은 칸(.)과 나쁜 칸(#)으로 이루어진 격자에서 나쁜 칸을 피해 두 칸을 잇는 최단 거리를 질의마다 구하고, 갈 수 없으면 -1을 출력합니다.
문제
카산드라는 드디어 첫 여행사를 열었다. 그녀의 여행은 지금은 크로아티아로 한정되어 있으며, 이를 크기의 표로 생각할 수 있다. 일부 칸은 아름답고 .으로 표시되며, 나머지 칸은 추하고 #으로 표시된다. 관광객은 위, 아래, 왼쪽, 오른쪽 네 방향으로만 움직일 수 있다.
카산드라는 현재 개의 여행을 계획해 두었다. 각 여행마다 추한 칸을 지나지 않고 출발점에서 목적지까지 가는 데 필요한 최소 이동 횟수를 구하려 한다. 출발점에서 목적지로 갈 수 없다면 을 출력한다.
입력
첫 줄에 자연수 (), (), ()가 주어진다.
다음 개 줄에는 문제에서 설명한 방식으로 표가 주어진다.
다음 개 줄에는 네 개의 수 , , , (, )가 주어진다. 는 출발점의 행과 열이고, 는 목적지의 행과 열이다.
출력
개 줄을 출력한다. 번째 줄에는 번째 여행의 출발점과 목적지 사이의 거리를 출력한다.