728x90
https://www.acmicpc.net/problem/1358
문제 요약 :
- 하키 링크는 가로 길이가 W이고 세로 길이가 H인 직사각형과, 각 반지름이 H/2인 두 개의 원으로 이루어져 있음
- 직사각형의 왼쪽 아래 모서리 좌표는 (X,Y)
- 두 원의 중심은 각각 (X,Y+H/2)와 (X+W,Y+H/2)
예제 입력1 :
20 10 5 0 3
15 5
1 5
1 1
예제 출력 1:
2
📌 풀이 )
1. 직사각형 안에 있는지 확인한다.
2. 왼쪽 반원 안에 있는지 확인한다.
3. 오른쪽 반원 안에 있는지 확인한다.
def is_inside_rink(W, H, X, Y, a, b):
# 직사각형
if X <= a <= X + W and Y <= b <= Y + H:
return 1
# 왼쪽 반원
left_circle_center = (X, Y + H / 2)
if ((a - left_circle_center[0]) ** 2 + (b - left_circle_center[1]) ** 2) <= (H / 2) ** 2:
return 1
# 오른쪽 반원
right_circle_center = (X + W, Y + H / 2)
if ((a - right_circle_center[0]) ** 2 + (b - right_circle_center[1]) ** 2) <= (H / 2) ** 2:
return 1
return 0
W, H, X, Y, P = map(int, input().split())
result = 0
for _ in range(P):
a, b = map(int, input().split())
result += is_inside_rink(W, H, X, Y, a, b)
print(result)
728x90
'코테 공부 🔥' 카테고리의 다른 글
[백준/파이썬] 4153: 직각삼각형 (0) | 2024.05.27 |
---|---|
[백준/파이썬] 2798: 블랙잭 (0) | 2024.05.27 |
[프로그래머스/SQL] 우유와 요거트가 담긴 장바구니 (0) | 2024.05.11 |
[프로그래머스/SQL] FrontEnd 개발자 찾기 (0) | 2024.05.09 |
[프로그래머스/SQL] 조건에 맞는 아이템들의 가격의 총합 구하기 (0) | 2024.05.09 |
댓글