서로 다른 거리의 최소 개수
시간 제한3초메모리 제한512 MB
평면 위의 임의의 점 q를 골라 n개의 주어진 정수 좌표 점까지의 유클리드 거리 중 서로 다른 값의 개수를 최소로 만든다.
문제
2차원 평면에서 보물찾기를 준비한다.
서로 다른 관심 지점 개를 이미 정해 두었고, 이를 이라고 하자. 지점 의 좌표는 정수 이다.
이제 마지막 장소가 될 점 를 하나 고른다. 의 좌표는 유한해야 하지만 정수일 필요는 없다. 가 지점 중 하나와 같은 자리여도 된다.
마지막 장소를 흥미롭게 만들려면 에서 각 지점까지의 거리 중 서로 다른 값의 개수를 최소로 해야 한다. 정확히 말하면 집합
의 크기 를 최소로 하는 를 고른다. 여기서 는 의 원소 개수이고, 는 와 사이의 유클리드 거리이다. 는 집합이므로 거리 가 둘 이상 같으면 하나의 원소로만 센다.
지점의 좌표가 주어지면 의 최솟값을 구하여라.
주의: 오차가 있는 연산을 쓰면 정확히 같은 거리를 알아내기 어려울 수 있다.
입력
첫째 줄에 정수 ()이 주어진다.
다음 개의 줄에는 각각 지점 의 좌표를 나타내는 정수 와 ()가 공백으로 구분되어 주어진다. 개의 지점은 모두 서로 다르다.
출력
첫째 줄에 에서 모든 지점 까지의 거리 중 서로 다른 값의 최소 개수를 출력한다.
힌트
첫 번째 예제에서는 으로 두면 모든 지점까지의 거리가 5로 같다. 두 번째 예제에서는 로 두면 된다.