https://www.acmicpc.net/problem/1002
λ μμ κ΅μ μ μλ₯Ό ꡬνλ λ¬Έμ μ΄λ€.
μ€νκ΅μλ κ³ λ±νκ΅μλ λ¨Ό κ³Όκ±°μ λ°°μ λ λ΄μ©μΈλ°, κ²½μ°λ§ μ λ°μ Έμ£Όλ©΄ λλ€.
λ¨Όμ , λ μ μ¬μ΄μ 거리 곡μμ μ΄μ©ν΄ μμ μ€μ¬ μ¬μ΄μ κ±°λ¦¬μΈ dλ₯Ό ꡬν΄μ€λ€.
#1 μμ μ€μ¬μ΄ λμΌνκ³ λ°μ§λ¦λ λμΌνλ€λ©΄ λ μμ΄ μλ‘ κ°κ³ , μ μ μ κ°μκ° λ¬΄νλμ΄λ€. -1μ μΆλ ₯νλ€.
#2 λ μμ λ°μ§λ¦μ ν©(r1 + r2)μ΄ dμ κ°κ±°λ λ°μ§λ¦μ μ°¨(abs(r1 - r2))κ° dμ κ°λ€λ©΄ κ°κ° μΈμ , λ΄μ νλ κ²½μ°μ΄λ€. μ μ μ΄ νλμ΄λ―λ‘ 1μ μΆλ ₯νλ€.
#3 λ μμ΄ μΈμ ν΄μλ μνμμ λ΄μ μνκ° λ λ κΉμ§ μ νλλ₯Ό μ΄λμμΌ λ³΄μ. κ·Έ μ¬μ΄μ λͺ¨λ μκ°μλ λ μμ κ΅μ μ΄ 2κ°μ΄λ€. κ·Έλ¦¬κ³ μμΌλ‘ μ 리νμλ©΄ abs(r1 - r2) < d < r1 + r2 λΌκ³ λνλΌ μ μλ€.
#4 κ·Έ λ°μ λͺ¨λ κ²½μ°λ ν μμ΄ λ€λ₯Έ μ λ΄λΆμ μ‘΄μ¬νλ κ²½μ°μ΄λ€. κ΅μ μ΄ μλ€.
for _ in range(int(input())):
x1, y1, r1, x2, y2, r2 = map(int, input().split())
# λ μμ μ€μ¬ μ¬μ΄μ 거리
d = ((x1-x2)**2 + (y1-y2)**2) ** 0.5
# 1. λ μμ΄ λμΌν¨
if x1 == x2 and y1 == y2 and r1 == r2:
print(-1)
# 2. λ μμ΄ μλ‘ μ ν¨
elif r1 + r2 == d or abs(r1 - r2) == d:
print(1)
# 3. λ μμ΄ μλ‘ λ€λ₯Έ λ μ μμ λ§λ¨
elif abs(r1 - r2) < d < r1 + r2:
print(2)
# 4. ν μμ΄ λ€λ₯Έ μμ λ΄λΆμ μκ±°λ λ μμ΄ μλ‘ λ¨μ΄μ Έ μμ
else:
print(0)
'λ°±μ€' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
λ°±μ€ 27211 λλ νμ± - νμ΄μ¬ (0) | 2023.01.14 |
---|---|
λ°±μ€ 27212 λ―Έν - νμ΄μ¬ (4) | 2023.01.14 |
λ°±μ€ 7785 νμ¬μ μλ μ¬λ - νμ΄μ¬ (0) | 2022.12.29 |
λ°±μ€ 2839 μ€ν λ°°λ¬ - νμ΄μ¬ (0) | 2022.12.29 |
λ°±μ€ μ μΆλ ₯ - νμ΄μ¬ (0) | 2022.11.29 |