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

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

오른쪽으로만 도는 낙타

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

요약
오아시스 1에서 2 방향으로 출발해 각 오아시스에서 시계 방향으로 180도 이하만 회전하며 자기 교차 없이 돌아오는 경로 중 가장 많은 오아시스를 지나는 경로를 찾는다.
난이도

어려움10점 중 9점

유형
기하, 동적 계획법, 그리디, 정렬
정답자
아직 제출이 없습니다

문제

바이토티아(Byteotia) 사막에는 오아시스가 NN개 있으며, 어떤 세 오아시스도 한 직선 위에 있지 않습니다. 바이트아자르(Byteasar)는 그중 한 오아시스에 살고 나머지 모든 오아시스마다 친구가 한 명씩 있는데, 그는 낙타를 타고 되도록 많은 친구를 방문하려고 합니다. 이 낙타는 고집이 세서 다음과 같은 독특한 방식으로만 움직입니다.

  • 한 오아시스를 떠나면 다른 오아시스에 도착할 때까지 직선으로 이동합니다.
  • 방향은 오직 오아시스에서만 바꿀 수 있고, 그곳에서는 언제나 오른쪽(시계 방향)으로만 [0°,180°][0°, 180°] 범위의 각도로 회전합니다. 각 오아시스에서는 정확히 한 번만 회전합니다(예를 들어 100°100°씩 두 번 돌아 200°200°를 도는 일은 없습니다).
  • 경로는 자기 자신과 닿거나 교차하지 않으며, 낙타는 이미 지나온 구간을 다시 밟지 않습니다. 경로가 두 번 지날 수 있는 오아시스는 여정이 시작되고 끝나는 바이트아자르의 집뿐입니다.

출발할 때 낙타는 바이트아자르의 집 오아시스에서 특정한 한 오아시스를 바라보고 있으며, 반드시 그 오아시스를 향해 곧장 출발해야 합니다. 집으로 돌아온 뒤 낙타가 바라보는 방향은 상관없습니다.

집에서 출발하여 다시 집으로 돌아오면서 최대한 많은 친구를 방문할 수 있는 경로를 찾으세요.

입력

첫째 줄에 오아시스의 수 NN (3≤N≤10003 \le N \le 1000)이 주어집니다. 오아시스에는 11번부터 NN번까지 번호가 매겨져 있습니다. 바이트아자르는 11번 오아시스에 살고, 그의 낙타는 처음에 22번 오아시스를 바라보고 있습니다. 이어지는 NN개의 줄 중 ii번째 줄에는 ii번 오아시스의 좌표인 두 정수 xix_i, yiy_i (−16000≤xi,yi≤16000-16000 \le x_i, y_i \le 16000)가 공백 하나로 구분되어 주어집니다.

출력

바이트아자르가 방문할 수 있는 친구의 최대 수를 정수 하나로 출력하세요. 이는 경로에 포함된 오아시스 중 그의 집을 제외한 서로 다른 오아시스의 개수와 같습니다.

힌트

예제5

  1. 예제 1

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

    입력
    3
    11 5
    1 7
    9 6
    
    예상 출력
    2
    
  3. 예제 3

    입력
    4
    -4 3
    -5 4
    1 -11
    10 -9
    
    예상 출력
    3
    
  4. 예제 4

    입력
    5
    9916 1296
    4297 -9030
    -7260 -6877
    -8784 4779
    1831 9831
    
    예상 출력
    4
    
  5. 예제 5

    입력
    8
    0 -3
    8 -10
    4 -6
    5 -9
    -5 2
    -6 -8
    10 -1
    -6 -1
    
    예상 출력
    6