실행 시간 제한 | 메모리 제한 |
---|---|
1 초 | 128 MB |
호탁은 자신의 강아지 베시가 너무 많은 문제를 일으키지 못하도록 긴 밧줄로 베시를 울타리에 묶어두기로 결정합니다. 위에서 보면 울타리는 수직선을 따라 배열된 N개의 기둥(1 <= N <= 10)으로 구성되며, 베시의 위치(bx, by)는 이 수직선의 오른쪽에 위치합니다. 호탁이 베시를 묶는 데 사용하는 밧줄은 M개의 선분(3 <= M <= 10,000)으로 설명되며, 첫 번째 선분은 베시의 위치에서 시작하고 마지막 선분은 베시의 위치에서 끝나는 시퀀스로 설명됩니다. 이 선분 중 어느 선분에도 울타리 기둥이 놓여 있지 않습니다. 그러나 선분은 교차할 수 있으며 여러 선분이 끝점에서 겹칠 수 있습니다.
다음은 위에서 본 장면의 예시입니다:
베시가 자유로울 수 있도록(즉, 밧줄이 울타리 기둥에 걸리지 않고 오른쪽으로 갈 수 있도록) 절단하여 제거해야 하는 울타리 기둥의 최소 개수를 구하십시오.
입력의 모든 (x,y) 좌표(울타리 기둥, 베시, 선분 끝점)는 0...10,000 범위 내에 있습니다. 모든 울타리 기둥의 x 좌표는 동일하며, bx는 이 값보다 큽니다.
1번째 줄 : 네 개의 공백으로 구분된 정수: N, M, bx, by.
2번째 줄..1+N번째 줄 : i+1번쨰 줄 에는 기둥 i의 x와 y 좌표가 공백으로 구분되어 있습니다.
2+N번째 줄..2+N+M번째 줄 : 이 M+1번째 줄 중 각각은 줄을 따라가는 포인트의 x와 y 좌표를 순서대로 포함하며, 첫 번째와 마지막 포인트는 항상 베시의 위치(bx, by)와 동일합니다.
1번째 줄 : 베시가 오른쪽으로 가기 위해 제거해야 하는 기둥의 최소 개수.
2 10 6 1 2 3 2 1 6 1 2 4 1 1 2 0 3 1 1 3 5 4 3 0 0 1 3 2 6 1
1