메뉴 건너뛰기

문제

00c37 게으른 여우 2  

시간메모리제출 올바른 답 비율
1초64MB
20
3
15.0%


나의 횟수나의 최근 판정시도 성공 비율
63
50.0%
게으른 여우  

욕심쟁이 여우는 N 명의 이웃들로부터 선물을 받으려고 한다. N명의 이웃들이 사는 지점은 데카르트 좌표 평면 상의 특정 위치로 표시된다. N명의 이웃들은 여우에게 무한 개의 선물을 줄 수 있으며, 여우가 선물을 받기 위해 출발하는 지점은 이웃들이 사는 N개의 지점에 포함되지 않는다.

여우가 정확히 1개의 선물을 받으려면 반드시 한 이웃에서 다른 이웃으로 이동해야 하며, 도착한 이웃에서 1개의 선물을 받게 된다. 이미 방문한 이웃을 다시 방문할 수는 있지만 동일한 이웃을 연속해서 2번 방문할 수는 없다.

그런데 여우는 너무 게으르기 때문에 선물을 받을 때마다 이동하는 거리가 반드시 줄어든다. 그러니까 다시 말해 출발 지점에서 첫 번째로 선물을 받게 되는 도착 지점(첫 번째 방문 이웃) 사이의 거리는 두 번째 선물을 받게 되는 이동거리, 즉, 첫 번째로 방문한 이웃과 두 번째로 방문한 이웃 사이의 거리 보다 커야한다. 단, 두 지점 A와 B사이의 거리는 \(\sqrt{{({{X_A}-{X_B}})^2}+({{Y_A}-{Y_B}})^2}\)이다.

여우가 모을 수 있는 선물의 최대 갯수를 구하는 프로그램을 작성하시오.

입력

첫 번째 줄에는 이웃의 수를 나타내는 정수 N(1<=N<=2,000)이 주어진다. N개의 줄에는 i(1<=i<=N)번째 이웃의 위치를 나타내는 좌표 (Xi, Yi)가 주어진다. 단, -10,000 <= Xi, Yi <= 10,000 이다.

테스트 케이스의 20%는 N<=50 이다.
테스트 케이스의 40%는 N<=200 이다.
테스트 케이스의 나머지는 N<=2000 이다.

출력

게으른 여우가 모을 수 있는 선물의 최대 개수를 출력한다.

※ 여우가 6개의 선물을 받기 위해 방문을 수행하는 순서는 다음과 같다.
• (0,0)에서 (4,10)으로 이동하며 거리는 \(\sqrt{116}\)이다.
• (4,10)에서 (3,1)으로 이동하며 거리는 \(\sqrt{82}\)이다.
• (3,1)에서 (5,8)으로 이동하며 거리는 \(\sqrt{53}\)이다.
• (5,8)에서 (3,3)으로 이동하며 거리는 \(\sqrt{29}\)이다.
• (3,3)에서 (3,1)으로 이동하며 거리는 2 이다.
• (3,1)에서 (3,2)으로 이동하며 거리는 1 이다.

예시
1입력
5
5 8
4 10
3 1
3 2
3 3
출력
6
위로