로고
시간 제한1초메모리 제한128 MB
축에 평행한 사각형 N개의 경계를 그릴 때, 불필요한 선을 그리지 않으면서 필요한 PU 명령의 최소 개수를 구하는 문제입니다.
문제
Logo는 교육용 프로그래밍 언어로, 거북이 로봇에게 명령을 내려 화면에 그림을 그리는 방식으로 동작한다.
거북이는 좌표평면 위의 한 점과 바라보는 방향으로 나타낸다. 거북이는 연필을 들고 있거나 내려놓을 수 있다. 연필을 내린 상태로 움직이면 지나간 자리에 선이 그려지고, 연필을 든 상태로 움직이면 선이 그려지지 않는다.
처음 거북이는 (0, 0)에 있으며, y좌표가 증가하는 방향을 바라보고 있다. 연필은 내려져 있다.
사용할 수 있는 명령은 다음 다섯 가지이다.
FD x: 거북이를 바라보는 방향으로 x만큼 전진시킨다.LT a: 거북이를 반시계 방향으로 a도 회전시킨다.RT a: 거북이를 시계 방향으로 a도 회전시킨다.PU: 연필을 든다.PD: 연필을 내린다.
축에 평행한 직사각형 N개의 테두리가 주어진다. 이 모든 테두리를 그리는 데 필요한 PU 명령의 최소 횟수를 구하라.
같은 선분을 여러 번 그려도 된다. 하지만 주어진 직사각형들의 테두리 이외의 선은 그릴 수 없다. 거북이는 매우 작아서 좌표평면 위의 한 점으로 생각할 수 있다.
입력
첫째 줄에 직사각형의 개수 N이 주어진다. (1 <= N <= 1000)
다음 N개의 줄에는 각 직사각형의 좌표 x1, y1, x2, y2가 주어진다. (-500 <= x1 < x2 <= 500), (-500 <= y1 < y2 <= 500)이며, (x1, y1)과 (x2, y2)는 서로 대각선 방향에 있는 두 꼭짓점이다.
출력
N개의 직사각형 테두리를 모두 그리는 데 필요한 PU 명령의 최소 횟수를 출력한다.