BOJ/Silver

[BOJ] #1002 터렛

Opal1031 2026. 4. 13. 11:35

터렛

백준 #1002


📌 문제

예제 입력

3
0 0 13 40 0 37
0 0 3 0 7 4
1 1 1 1 1 5

예제 출력

2
1
0

📌 풀이

Logic

  • 테스트 케이스 입력 받기
  • 두 개의 좌표와 거리 입력 받기
  • 두 점 사이의 거리 구하기
    • 두 원의 중심이 같을 때 / 다를 때에 따른 결과 출력
# 변수명
T : 테스트 케이스 수
x1, y1, r1, x2, y2, r2 : 주어진 좌표와 거리
length : 두 점 사이의 거리

Python

import sys
import math

T = int(sys.stdin.readline())

for _ in range(T):
    x1, y1, r1, x2, y2, r2 = map(int, sys.stdin.readline().split())

    length = math.sqrt((x1 - x2) ** 2 + (y1 - y2) ** 2)

    if (length == 0):
        if (r1 == r2):
            print(-1)

        else:
            print(0)

    else:
        if((r1 + r2 == length) or (abs(r1 - r2) == length)):
            print(1)

        elif((abs(r1 - r2) < length < (r1 + r2))):
            print(2)

        else:
            print(0)

✏️ 새로운 내용

-


📚 회고

💡 두 원의 관계

  • 두 점과 그 사이의 거리를 원의 반지름과 중심으로 연결해 생각하는 것이 문제 해결의 핵심이었다.
  • 원의 중심 간의 거리 관계에 따라 가능한 경우를 나누고, 그에 맞는 결괏값을 출력하는 방식으로 접근했다.

'BOJ > Silver' 카테고리의 다른 글

[BOJ] #2606 바이러스  (0) 2026.04.13
[BOJ] #16173 점프왕 쩰리 (Small)  (0) 2026.04.13
[BOJ] #1064 평행사변형  (0) 2026.04.13
[BOJ] #9012 괄호  (0) 2026.04.13
[BOJ] #18110 solved.ac  (0) 2026.04.13