문제 링크
- http://icpc.me/13551
사용 알고리즘
- 버킷
풀이
2차원 평면을 여러 개의 정사각형으로 분할해서 생각해봅시다.
쿼리로 원이 주어질 때마다 모든 정사각형 조각을 보면서 아래 3가지 경우를 처리해주면 됩니다.
- 정사각형이 원에 완전히 포함되는 경우: 해당 정사각형 영역 안에 존재하는 점의 개수를 모두 더한다.
- 정사각형과 원이 겹치지 않는 경우: 해당 정사각형 영역 안에 존재하는 점은 무시해도 된다.
- 일부가 겹치는 경우: 해당 정사각형 영역 안에 있는 점들을 하나씩 보면서 원 안에 들어가는지 판별해주면 된다.
전체 코드
1 |
|