BOJ 10475 모기 넌 내꺼야
BOJ 10475 모기 넌 내꺼야
문제 내용
개의 점이 주어집니다. 지름 인 원으로 한 번에 덮을 수 있는 점의 최대 개수를 구하세요. 원의 테두리에 걸친 점도 덮인 것으로 칩니다.
입력
첫 줄에는 테스트 케이스의 개수 이 주어집니다. () 각 테스트 케이스의 앞에는 빈 줄이 있습니다.
각 테스트 케이스에 대해, 첫 줄에는 점의 개수 과 원의 지름 가 주어집니다. (, )
그 다음 줄에는 각 점의 좌표와 좌표가 주어집니다. () 원의 지름과 좌표는 정수가 아닐 수 있습니다.
원의 지름이 만큼 커져도 답이 같음이 보장됩니다.
출력
각 테스트 케이스에 대해 문제의 답을 한 줄에 출력합니다.
문제 풀이
스포일러
다음과 같은 기하적 브루트포스를 생각할 수 있습니다.
- 두 점을 선택하고, 원을 두 점에 접하도록 놓습니다. 이때 그 원의 내부에 있는 점의 개수를 셉니다.
이것이 성립하는 이유는, 임의의 원의 배치에 대해서 그 원을 한 점과 닿을 때까지 한쪽으로 움직일 수 있고, 그 점과 계속 닿은 상태에서 두 번째 점과 닿을 때까지 원을 돌릴 수 있기 때문입니다.
이 작으므로 이는 충분히 빠르게 동작합니다.
지름이 약간 커져도 답이 같음을 보장하지만 지름이 약간 작아져도 답이 같음을 보장하지는 않기 때문에, 원의 내부 판정을 할 때 약간의 epsilon을 두어 약간 밖에 있어도 넣어주는 것이 좋습니다.
Last updated on