-
[1002λ²] ν°λ SW/BAEKJOON(online judge) 2023. 6. 7. 14:57
λ¬Έμ μμ μμ μ€μ¬ μ’νμ λ°μ§λ¦μ΄ μ£Όμ΄μ‘μ λ, λ μμ΄ λ§λ μ μλ μμΉμ μλ₯Ό ꡬνλ λ¬Έμ μ λλ€. μ£Όμ΄μ§ μ λ ₯μ λν΄ λͺ¨λ ν μ€νΈ μΌμ΄μ€λ₯Ό μ²λ¦¬νμ¬ κ²°κ³Όλ₯Ό μΆλ ₯ν΄μΌ ν©λλ€.
λ μμ μ€μ¬ μ¬μ΄μ 거리λ₯Ό ꡬν λ€, λ€μκ³Ό κ°μ μΈ κ°μ§ κ²½μ°λ‘ λλ μ μμ΅λλ€.
1. λ μμ΄ μμ ν μΌμΉνλ κ²½μ° (μ€μ¬ μ¬μ΄ 거리 == 0):
λ μμ΄ μΌμΉνλ―λ‘ μμΉμ μλ 무νλμ΄λ―λ‘ -1μ μΆλ ₯ν©λλ€.
2. λ μμ΄ μΈμ νκ±°λ λ΄μ νλ κ²½μ° (μ€μ¬ μ¬μ΄ 거리 == λ°μ§λ¦μ ν© νΉμ μ°¨):
λ μμ΄ μΈμ νκ±°λ λ΄μ νλ©΄μ λ§λλ μμΉλ ν κ³³μ λλ€. λ°λΌμ μμΉμ μλ 1μ λλ€.
3. κ·Έ μΈμ κ²½μ°:
λ μμ΄ λ μ μμ λ§λλ κ²½μ°λ‘, μμΉμ μλ 2μ λλ€.μ΄ μκ³ λ¦¬μ¦μ μ½λλ‘ κ΅¬ννλ©΄ λ€μκ³Ό κ°μ΅λλ€.
import math
def calculate_positions(x1, y1, r1, x2, y2, r2):
distance = math.sqrt((x2 - x1)**2 + (y2 - y1)**2)
# λ μμ΄ μμ ν μΌμΉνλ κ²½μ°
if distance == 0 and r1 == r2:
return -1
# λ μμ΄ μΈμ νκ±°λ λ΄μ νλ κ²½μ°
if distance == r1 + r2 or distance == abs(r1 - r2):
return 1
# κ·Έ μΈμ κ²½μ°
if distance > r1 + r2 or distance < abs(r1 - r2):
return 0
return 2
# μ λ ₯ μμ
test_cases = int(input())
for _ in range(test_cases):
x1, y1, r1, x2, y2, r2 = map(int, input().split())
result = calculate_positions(x1, y1, r1, x2, y2, r2)
print(result)μ μ½λλ₯Ό ν΅ν΄ μ£Όμ΄μ§ μ λ ₯μ λν μΆλ ₯μ μ»μ μ μμ΅λλ€.
'SW > BAEKJOON(online judge)' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[1001λ²] A-B (0) 2023.06.07 [1000λ²] A+B (0) 2023.06.07