BOJ 10497 Hitting the Targets

BOJ 10497 Hitting the Targets

문제 링크:

문제 내용

좌표평면 위에 원 모양의 표적과 직사각형 모양의 표적이 있습니다. 여러 위치에 총을 쐈을 때 그 총알이 뚫는 표적의 개수를 구하세요.

총알이 어떤 표적의 테두리를 통과한 것은 그 표적을 뚫은 것으로 칩니다.

입력

첫 줄에는 표적의 개수 mm이 주어집니다. (1m301 \le m \le 30)

다음 mm줄에 각 표적에 대한 정보가 주어집니다. 그 표적이 원이라면, 먼저 circle이 주어지고, 그 다음 원의 중심 xx좌표, yy좌표, 그리고 원의 반지름 순서로 주어집니다. 그 표적이 직사각형이라면, 먼저 rectangle이 주어지고, 그 다음에 왼쪽 아래 꼭짓점의 xx좌표와 yy좌표, 그리고 오른쪽 위 꼭짓점의 xx좌표와 yy좌표 순서로 주어집니다.

다음 줄에는 총알의 개수 nn이 주어집니다. (1n1001 \le n \le 100)

그 다음 nn줄에는 각 총알의 위치가 xx, yy좌표 순으로 주어집니다.

모든 좌표는 1000-1000 이상 10001000 이하의 정수이고, 원의 반지름은 11 이상 10001000 이하의 정수입니다.

출력

각각의 총알에 대해, 그 총알이 뚫은 표적의 개수를 출력합니다.

문제 풀이

스포일러
두 가지 모양을 저장한 뒤에 각 모양에 대해 주어진 점이 그 모양 안에 있는지를 여러 번 판별해야 하므로, 구현이 꼬이지 않도록 주의합니다.
Last updated on