야구
면접 대비시간 제한1초메모리 제한1024 MB
타구 위치와 후보 펜스 거리가 주어질 때, 각 거리마다 파울, 내야 타구, 홈런의 개수를 구합니다.
문제
야구장의 담장은 원의 1/4을 이루는 원주 형태이며, 2차원 좌표 평면에서 중심이 원점인 원의 방정식 으로 주어진다. 여기서 은 담장까지의 거리이다. 담장의 범위는 동경 에서 에 해당한다.
다시 말해, 담장은 아래 부등식을 만족하면서 을 만족하는 점들로 이루어진다.
및
타구는 위치에 따라 다음과 같이 분류된다.
- 내야: 타구가 담장으로 둘러싸인 부채꼴 영역의 안(경계 포함)에 있다.
- 홈런: 타구가 담장 바깥에 있고, 홈 플레이트(좌표 평면의 원점)와 타구의 위치를 잇는 선분이 담장과 만난다.
- 파울: 그 밖의 경우.
LG 트윈스와 두산 베어스는 잠실 야구장을 홈구장으로 쓴다. 두 구단은 더 나은 환경에서 경기하려고 잠실 야구장을 돔구장으로 재건축할 계획이다. 재건축 계획에서 가장 중요한 부분은 담장까지의 거리를 정하는 것이다. 구단은 담장까지의 거리로 후보 개를 고려하고 있다.
여러 타구의 위치가 주어졌을 때, 담장까지의 거리 후보마다 파울, 내야, 홈런의 개수를 계산하라.
입력
첫 줄에 전체 타구의 개수 이 주어진다.
다음 개의 줄에는 번째 줄()에 번째 타구가 떨어진 지점의 좌표 와 가 공백을 사이에 두고 주어진다.
다음 줄에는 담장까지 거리의 후보 수 가 주어진다.
다음 개의 줄에는 번째 줄()에 담장까지의 거리로 고려하는 번째 후보 가 주어진다.
출력
번째 줄()에는 담장까지의 거리가 일 때 파울 타구의 수, 내야 타구의 수, 홈런의 수를 공백으로 구분하여 출력한다.
제한
- ()
- ()
- ()
- 주어지는 모든 수는 정수이다.
힌트
충분히 빠른 입출력 방식을 쓰지 않으면 시간 초과를 받을 수 있다. 예를 들어 C++에서 cin/cout을 쓴다면 입력을 받기 전에 cin.tie(NULL);을 호출하고, Python에서는 input() 대신 sys.stdin.readline()을 쓰는 것을 권장한다.