종이 지도
시간 제한20초메모리 제한128 MB
크기가 같은 격자 종이를 다각형 위에 옮겨 내부를 실제로 덮는 종이 수를 가장 적게 만듭니다.
문제
지도를 만드는 일은 간단하지 않다. 지구는 둥글기 때문에 2차원 평면에 옮기면 왜곡이 생기고, 고해상도 지도는 너무 커서 종이 한 장에 담을 수 없다. 그래서 지도를 여러 조각으로 나눠 여러 장의 종이에 인쇄한 뒤 이어 붙인다.
우리는 지도를 최대한 적은 장수로 인쇄하려고 한다. 모든 종이의 크기는 같다.
같은 지도라도 종이를 어떻게 배치하느냐에 따라 필요한 장수가 달라진다. 예를 들어 어떤 배치에서는 같은 지도를 14장에 인쇄하지만, 더 좋은 배치에서는 10장이면 충분할 수 있다. 두 경우 모두 크기와 방향이 같은 종이를 쓴다.
지도가 주어졌을 때, 인쇄에 필요한 종이 장수의 최솟값을 구하라. 지도는 하나의 닫힌 다각형이며, 변끼리 교차하지 않는다.
종이는 모두 축에 평행한 직사각형이고 회전할 수 없다. 이웃한 종이는 꼭짓점이 정확히 맞닿아 하나의 정렬된 격자를 이루며, 이 격자 전체를 원하는 위치로 평행이동해 놓을 수 있다. 입력 좌표는 모두 정수이지만, 종이는 정수가 아닌 위치에 놓아도 된다.
지도가 종이의 경계선에만 닿는 경우, 그 종이는 세지 않는다. 즉 어떤 종이의 내부와 지도의 내부가 겹치는 넓이가 보다 클 때에만 그 종이가 필요하다. 부동소수점 오차를 감안하여, 지도가 종이 밖으로 이하만큼 벗어나는 것은 무시한다.
입력
첫째 줄에 지도 꼭짓점의 개수 ()과 종이의 크기 , ()가 주어진다.
이어지는 개의 줄에는 지도 꼭짓점의 좌표 , 가 주어진다 (, ). 꼭짓점은 시계방향 또는 반시계방향 순서로 주어진다.
출력
지도를 인쇄하는 데 필요한 종이 장수의 최솟값을 한 줄에 출력한다.