아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

난공불락의 벽

시간 제한1초메모리 제한1024 MB

요약
고정된 문 꼭짓점을 지나고 관측탑만을 꼭짓점으로 사용하며 집을 엄격히 포함하고 집에서 별 모양으로 보이며 모든 탑 각이 볼록한 단순 다각형의 개수를 10^9+7로 나눈 나머지를 구한다.
난이도

어려움10점 중 8점

유형
기하, 동적 계획법, 조합론, 정렬
정답자
아직 제출이 없습니다

문제

해피랜드의 대통령은 재선되어야 한다. 그녀는 마지막 남은 노력을 해피랜드 주민들이 가장 사랑하는 것 중 하나에 쏟기로 한다. 바로 어린이다. 그녀는 아이들이 국립 고아원에서 계속 도망치는 것이 큰 문제라는 것을 알고, 고아원 주변에 벽을 다시 세워 고아원을 더 안전하게 만들고 주민들을 더 행복하게 하려 한다.

벽을 세워야 하는 영역은 고아원 건물, 고아원 문, 그리고 해피랜드의 전성기에서 남은 여러 관측탑으로 이루어진다.

해피랜드 대통령은 고아원 전문가들과의 회의에서 안전한 벽이 다음과 같은 다각형이어야 한다고 결정했다.

  1. 건물은 벽에 의해 엄격히 둘러싸여야 한다.
  2. 문은 벽의 꼭짓점이고, 나머지 꼭짓점은 모두 관측탑이다.
  3. 관측탑인 벽의 꼭짓점에서 모든 내각은 엄격히 180도보다 작다 (이 조건은 문 꼭짓점에는 적용되지 않는다).
  4. 벽 전체가 건물에서 보여야 한다. 즉, 벽 위의 모든 점에 대해, 건물과 그 점을 잇는 선분은 벽을 지나지 않는다.

예제 입력 1과 같은 물체의 가능한 배치. 점 H는 건물, 점 G는 문, 나머지 점은 모두 관측탑이다.

위에 나타난 벽들은 하나 이상의 규칙을 위반하므로 유효한 벽이 아니다.

이제 대통령은 서로 다른 안전한 벽을 몇 개나 세울 수 있는지 알고 싶어 한다. 두 벽은 한쪽 벽의 꼭짓점이지만 다른 쪽 벽의 꼭짓점이 아닌 관측탑이 존재할 때, 그리고 그럴 때만 서로 다르다.

위에 나타난 벽들은 예제 입력 1에 대한 서로 다른 유효한 벽 전부이다.

입력

첫 번째 줄에는 건물의 좌표를 나타내는 두 정수 Xh와 Yh가 주어진다. 다음 줄에는 문의 좌표를 나타내는 두 정수 Xg와 Yg가 주어진다. 다음 줄에는 관측탑의 개수 N (0 ≤ N ≤ 300)이 주어진다. 다음 N개의 줄 각각에는 관측탑의 좌표를 나타내는 두 정수 Xt와 Yt가 주어진다. 언급된 모든 좌표 (X, Y)는 서로 다르고, −10⁹ ≤ X, Y ≤ 10⁹을 만족한다.

출력

제한을 만족하는 서로 다른 벽의 개수를 한 줄에 정수로 출력한다. 이 수는 매우 클 수 있으므로, 10⁹ + 7로 나눈 나머지를 출력한다.

예제3

  1. 예제 1

    입력
    0 0
    -2 -1
    5
    2 1
    0 -4
    -1 2
    -4 0
    0 -2
    
    예상 출력
    6
    
  2. 예제 2

    입력
    2 2
    2 0
    3
    -1 2
    4 7
    2 -2
    
    예상 출력
    1
    
  3. 예제 3

    입력
    100 100
    -200 -120
    0
    
    예상 출력
    0