λ¬Έμ - Baekjoon 1002 : ν°λ
https://www.acmicpc.net/problem/1002
1002λ²: ν°λ
κ° ν μ€νΈ μΌμ΄μ€λ§λ€ λ₯μ¬λͺ μ΄ μμ μ μλ μμΉμ μλ₯Ό μΆλ ₯νλ€. λ§μ½ λ₯μ¬λͺ μ΄ μμ μ μλ μμΉμ κ°μκ° λ¬΄νλμΌ κ²½μ°μλ $-1$ μΆλ ₯νλ€.
www.acmicpc.net
ν΅μ¬
- λ¬Έμ : λ ν°λ μμ μ κΉμ§μ 거리λ₯Ό λ°νμΌλ‘ μ μ κ°λ₯ν μμΉ μ κ³μ°νκΈ°
λ΄μ©
- μ΄ λ¬Έμ λ λ ν°λ μ μ’νμ κ° ν°λ μμ μ κΉμ§μ 거리λ₯Ό μ£Όμ΄μ§ 쑰건μμ μ¬μ©νμ¬, μ μ΄ μμ μ μλ μμΉμ μλ₯Ό κ³μ°νλ λ¬Έμ μ λλ€. μ΄ λ¬Έμ λ κΈ°ννμ κ°λ κ³Ό 쑰건 νλ¨ λ₯λ ₯μ νμλ‘ ν©λλ€.
μ κ·Ό λ°©λ²
- μ’ν λ° κ±°λ¦¬ μ λ ₯ μ²λ¦¬: μ λ ₯λ κ° ν°λ μ μ’ν (`x_1`, `y_1`, `x_2`, `y_2`)μ 거리 (`r_1`, `r_2`)λ₯Ό μ μλ‘ λ³νν©λλ€.
- 거리 κ³μ°: λ ν°λ μ¬μ΄μ 거리λ₯Ό κ³μ°ν©λλ€. μ΄λ λ μ μ¬μ΄μ 거리 곡μμ μ¬μ©νμ¬ κ³μ°ν μ μμ΅λλ€.
- μ‘°κ±΄λ³ κ³μ°: μ μ΄ μμ μ μλ μμΉμ μλ₯Ό κ³μ°νκΈ° μν΄ λ€μ 쑰건μ κ³ λ €ν©λλ€:
- λ μμ΄ μΌμΉνλ κ²½μ° (무νλμ μ μ )
- λ μμ΄ μλ‘ λ€λ₯Έ λ μ μμ λ§λλ κ²½μ° (λ κ°μ μ μ )
- λ μμ΄ νλμ μ μμ λ§λλ κ²½μ° (ν κ°μ μ μ )
- λ μμ΄ λ§λμ§ μλ κ²½μ° (μ μ μμ)
- κ²°κ³Ό μΆλ ₯: κ³μ°λ μμΉμ μλ₯Ό μΆλ ₯ν©λλ€.
μ½λ
import math
def calculate_positions(x1, y1, r1, x2, y2, r2):
distance = math.sqrt((x1 - x2) ** 2 + (y1 - y2) ** 2)
if distance == 0 and r1 == r2:
return -1 # λ μμ΄ μΌμΉ
elif distance > r1 + r2 or distance < abs(r1 - r2):
return 0 # λ μμ΄ λ§λμ§ μμ
elif distance == r1 + r2 or distance == abs(r1 - r2):
return 1 # ν μ μμ λ§λ¨
else:
return 2 # λ μ μμ λ§λ¨
T = int(input())
for _ in range(T):
x1, y1, r1, x2, y2, r2 = map(int, input().split())
print(calculate_positions(x1, y1, r1, x2, y2, r2))
νμ΄
- λ μ μ¬μ΄μ 거리λ νΌνκ³ λΌμ€ μ 리λ₯Ό μ¬μ©νμ¬ κ³μ°ν©λλ€.
- λ μμ μμΉ κ΄κ³λ₯Ό νλ¨νμ¬ μ μ΄ μμ μ μλ μμΉμ μλ₯Ό κ²°μ ν©λλ€.
- 쑰건λ³λ‘ μ μ μμΉμ μλ₯Ό κ³μ°νμ¬ μΆλ ₯ν©λλ€.
μ°Έκ³ ν λ§ν μλ£
- νΌνκ³ λΌμ€ μ 리: λ μ μ¬μ΄μ 거리λ₯Ό κ³μ°νλ λ° νμν κΈ°λ³Έμ μΈ κΈ°ννμ μ리μ λλ€.
- μμ λ°©μ μκ³Ό μμ μμΉ κ΄κ³: λ μμ μμΉ κ΄κ³λ₯Ό μ΄ν΄νκ³ κ³μ°νλ λ°©λ²μ λν μλ£μ λλ€.
- 쑰건문과 λ°λ³΅λ¬Έ: Pythonμμ 쑰건문과 λ°λ³΅λ¬Έμ μ¬μ© λ°©λ²κ³Ό μμ μ λλ€.
μΆμ² λ§ν¬:
- νΌνκ³ λΌμ€ μ 리 μ€λͺ
: [Math is Fun - Pythagorean Theorem](https://www.mathsisfun.com/pythagoras.html))
- μμ λ°©μ μκ³Ό μμΉ κ΄κ³: [Khan Academy - Circle Equations](https://www.khanacademy.org/math/geometry/hs-geo-circles))
- Python 쑰건문과 λ°λ³΅λ¬Έ: [Python 곡μ λ¬Έμ](https://docs.python.org/3/tutorial/controlflow.html))
'μ½λ©ν μ€νΈ(Baekjoon)' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[python] Baekjoon 1005 : ACM Craft (0) | 2024.01.21 |
---|---|
[python] Baekjoon 1004 : μ΄λ¦° μμ (0) | 2024.01.20 |
[python] Baekjoon 1003 : νΌλ³΄λμΉ ν¨μ (0) | 2024.01.20 |
[python] Baekjoon 1001 : A-B (0) | 2024.01.20 |
[python] Baekjoon 1000 : A+B (0) | 2024.01.20 |
λκΈ