만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

안테나

시간 제한8초메모리 제한512 MB

요약
볼록 다각형 내부의 안테나 쌍 가운데 연결선이 제거된 두 벽 어느 쪽과도 교차하지 않는 쌍의 수를 시나리오마다 구합니다.
난이도

어려움10점 중 8점

유형
기하, 정렬, 투 포인터
정답자
아직 제출이 없습니다

문제

비밀 군사기지에서 새로운 통신 기술을 시험하고 있다. 실험을 위해 기지 안에 mm개의 안테나를 설치했다.

기지 주변 지형은 완전히 평평하고, 위에서 본 기지는 볼록 다각형이다. 다각형의 경계는 침입자로부터 기지를 지키는 벽이며, 동시에 전파가 기지 밖으로 새어 나가 외국 요원에게 도청되는 것을 막는다.

시설 공사로 다각형의 벽 두 개를 허물어야 한다. 이로 인해 보안 위험이 생긴다. 두 간첩이 기지 밖에서 두 안테나가 그 사이 직선 위에 놓이도록 자리를 잡고, 이 직선을 막는 벽이 없으면 간첩은 두 안테나 사이의 통신을 도청할 수 있다.

벽 두 개를 허물 수 있는 여러 경우에 대해, 이런 방식으로 도청당할 수 있는 안테나 쌍의 수를 구한다.

그림은 샘플 입력의 첫 번째 경우를 나타낸다. 기지는 오각형이며, 작은 십자 표시가 4개의 안테나를 나타낸다. 안테나 쌍을 잇는 모든 직선도 함께 그려져 있다.

입력

첫 줄에 테스트 케이스의 수 zz(1 ≤ zz ≤ 200000)가 주어진다. 각 테스트 케이스는 다음 형식을 따른다.

테스트 케이스의 첫 줄에는 다각형의 꼭짓점 수 nn(3 ≤ nn ≤ 10)이 주어진다. 이어서 nn개의 줄에 꼭짓점의 좌표가 시계 방향 순서대로 각각 정수 두 개로 주어진다. 꼭짓점은 나열된 순서대로 0, 1, ..., nn-1 번호를 가진다.

다음 줄에는 기지 내부에 있는 안테나의 수 mm(2 ≤ mm ≤ 50000)이 주어지고, 이어서 mm개의 줄에 안테나의 좌표가 주어진다.

다음 줄에는 시나리오의 수 qq(1 ≤ qq ≤ 10)가 주어진다. 마지막 qq개의 줄이 시나리오를 나타낸다. ii번째 줄에는 정수 두 개 aia_i, bib_i(0 ≤ aia_i < bib_i ≤ nn-1)가 주어지며, 이는 벽 aia_i와 bib_i를 허문다는 뜻이다. 이때 두 안테나를 지나는 서로 다른 직선 가운데, 꼭짓점 aia_i와 aia_i+1을 잇는 선분과도, 꼭짓점 bib_i와 (bib_i+1) mod nn을 잇는 선분과도 교차하지 않는 직선의 수를 구한다.

모든 좌표는 절댓값이 10^9 이하인 정수이다. 한 테스트 케이스 안에서 입력된 모든 점은 서로 다르고, 어떤 세 점도 한 직선 위에 있지 않다.

첫 번째 테스트 케이스를 포함해 모든 테스트 케이스 앞에는 빈 줄이 하나 있다.

모든 테스트 케이스의 mm 값을 합하면 300000을 넘지 않는다.

출력

각 테스트 케이스마다 그 케이스의 모든 시나리오에 대한 답을 각각 한 줄에 출력한다.

예제1

  1. 예제 1

    입력
    2
    
    5
    0 0
    0 5
    3 7
    6 5
    6 0
    4
    1 2
    1 3
    5 2
    5 3
    3
    0 3
    1 4
    1 2
    
    4
    -1 -1
    -1 1
    2 1
    2 -1
    2
    0 0
    1 0
    6
    0 1
    0 2
    0 3
    1 2
    1 3
    2 3
    
    예상 출력
    4 1 0
    0 1 0 0 0 0