홍우진의 개발 일기장
[백준] 1002번: 터렛 / 파이썬 본문
728x90
반응형
풀이 코드
import math
t = int(input())
for _ in range(t):
x1, y1, r1, x2, y2, r2 = list(map(int, input().split()))
btw = math.sqrt((x1 - x2) ** 2 + (y1 - y2) ** 2)
if btw == 0 and r1 == r2: # 두 원의 크기가 같아 겹치는 경우
print(-1)
elif r1 + r2 == btw or abs(r2 - r1) == btw: # 내접 혹은 외접일 때
print(1)
elif (abs(r1 - r2) < btw < r1 + r2): # 두 점에서 만날 때
print(2)
else:
print(0)
코드 해석
두 좌표 사의의 거리를 구하는 공식과
두 원의 위치 관계 공식을 알아야한다.
https://itstory1592.tistory.com/33
[백준/파이썬] 1002번 문제 '터렛'
https://www.acmicpc.net/problem/1002 1002번: 터렛 각 테스트 케이스마다 류재명이 있을 수 있는 위치의 수를 출력한다. 만약 류재명이 있을 수 있는 위치의 개수가 무한대일 경우에는 -1을 출력한다. www.acm
itstory1592.tistory.com
공식을 전혀 몰라서 감이 안잡혔다... 공식만 안다면 간단한 문제다.
체감 난이도: ★★★☆☆
728x90
반응형
'알고리즘 > 백준' 카테고리의 다른 글
[백준] 11659번: 구간 합 구하기 4 / 파이썬 (1) | 2025.02.06 |
---|---|
[백준] 2559번: 수열 / 파이썬 (0) | 2025.02.05 |
[백준] 15652번: N과 M (4) / 파이썬 (0) | 2025.02.03 |
[백준] 4948번: 베르트랑 공준 / 파이썬 (0) | 2025.02.02 |
[백준] 9237번: 이장님 초대 / 파이썬 (0) | 2025.02.01 |
Comments