성
시간 제한1초메모리 제한128 MB
격자선을 따라 변이 직교하는 단순 다각형 내부의 격자선이 복도가 될 때, 두 격자점 사이의 최단 경로 길이를 구한다.
문제
보물을 찾는 탐험대가 어느 성의 지도를 발견했다. 지도에 따르면 값을 매길 수 없는 보물이 성의 지하실에 숨겨져 있다. 지도는 매듭(격자점)의 좌표가 모두 정수인 정사각형 격자 위에 그려져 있다. 왼쪽 아래 매듭은 , 그 반대편인 오른쪽 위 매듭은 이다.
성의 평면도는 모든 변이 격자선을 따라 놓인 다각형이다. 다각형에서 이웃한 두 변은 항상 수직으로 만나며, 경계선은 하나의 닫힌 꺾은선이다. 즉 각 꼭짓점은 정확히 두 선분에 속하고, 그 밖의 모든 경계점은 정확히 한 선분에만 속한다. 다각형 내부에 놓인 모든 격자선 구간과 다각형의 변들이 지하실의 복도를 이룬다. 두 개의 특별한 매듭이 표시되어 있는데, 하나는 입구이고 다른 하나는 보물의 위치이다.
입구에서 보물까지 복도를 따라 이동하는 가장 짧은 경로의 길이를 구하여라. 길이의 단위는 격자 정사각형 한 칸의 변이며, 경로의 모든 이동은 격자선을 따라 이루어진다.
입력
첫째 줄에 다각형의 꼭짓점 개수를 나타내는 정수 ()이 주어진다.
다음 개의 줄에는 각각 공백 하나로 구분된 두 정수가 주어지며, 이는 경계를 따라 나아가는 순서대로 나열한 다각형 꼭짓점의 좌표이다. 모든 좌표는 범위에 있다.
끝에서 둘째 줄에는 입구의 좌표가, 마지막 줄에는 보물의 좌표가 같은 형식으로 주어진다.
출력
입구에서 보물까지 복도를 따라가는 가장 짧은 경로의 길이를 정수 하나로 출력한다.