728x90
반응형
문제 출처:https://www.acmicpc.net/problem/1358
1358번: 하키
첫째 줄에 수 W H X Y P가 주어진다. P는 선수의 수이다. W와 H는 100보다 작거나 같은 자연수이고, H는 짝수이다. X와 Y는 절댓값이 100보다 작거나 같은 정수이다. P는 최대 50인 자연수이다. 둘째 줄부
www.acmicpc.net
풀이:
import sys
w, h, x, y, p = map(int, input().split())
def get(x1, y1, x2, y2):
return ((x2-x1)**2)+((y2-y1)**2)**0.5
ans = 0
for i in range(p):
a, b = map(int,input().split())
if x <= a <= x+w and y <= b <= y+h: # 직사각형 안일떄
ans += 1
continue
r = h/2 # 왼쪽 원 오른쪽 원
if get(x, y+r, a, b) <= r or get(x+w, y+r, a, b) <= r:
ans += 1
print(ans)
점과점사이의 거리 구하는 공식 사용
반응형
댓글