πŸ—οΈ Algorithm/🟩 λ°±μ€€

🟩 [λ°±μ€€] [Python] 1002번_ν„°λ ›

Dbswnstjd 2022. 11. 7. 13:44

문제

https://www.acmicpc.net/problem/1002

 

1002번: ν„°λ ›

각 ν…ŒμŠ€νŠΈ μΌ€μ΄μŠ€λ§ˆλ‹€ λ₯˜μž¬λͺ…이 μžˆμ„ 수 μžˆλŠ” μœ„μΉ˜μ˜ 수λ₯Ό 좜λ ₯ν•œλ‹€. λ§Œμ•½ λ₯˜μž¬λͺ…이 μžˆμ„ 수 μžˆλŠ” μœ„μΉ˜μ˜ κ°œμˆ˜κ°€ λ¬΄ν•œλŒ€μΌ κ²½μš°μ—λŠ” -1을 좜λ ₯ν•œλ‹€.

www.acmicpc.net

풀이

# λ°±μ€€ 1002번 문제 - ν„°λ ›
import math

n = int(input())

for _ in range(n):
    x1, y1, r1, x2, y2, r2 = map(int, input().split())
    distance = math.sqrt((x1-x2)**2 + (y1-y2)**2)  # 두 μ›μ˜ 거리 (μ›μ˜λ°©μ •μ‹ν™œμš©)
    if distance == 0 and r1 == r2 :  # 두 원이 동심원이고 λ°˜μ§€λ¦„μ΄ 같을 λ•Œ
        print(-1)
    elif abs(r1-r2) == distance or r1 + r2 == distance:  # λ‚΄μ ‘, 외접일 λ•Œ
        print(1)
    elif abs(r1-r2) < distance < (r1+r2) :  # 두 원이 μ„œλ‘œλ‹€λ₯Έ 두 μ μ—μ„œ λ§Œλ‚  λ•Œ
        print(2)
    else:
        print(0)  # κ·Έ 외에

μ˜€λžœλ§Œμ— μˆ˜ν•™μ μΈ λ¬Έμ œκ°€ λ‚˜μ™€μ„œ 원을 κ³΅λΆ€ν–ˆλ‹€..