나의 풀이
for _ in range(int(input())):
a, b, c, d, e, f = map(int, input().split())
x = max(c,f)
y = min(c,f)
l = ((d-a)**2+(e-b)**2)**0.5
if a==d and b==e and c==f:
print(-1)
else:
if l > x+y:
print(0)
elif l == x+y:
print(1)
else:
if l > x-y:
print(2)
elif l == x-y:
print(1)
else:
print(0)
CODE REVIEW
- 중학교 때 배웠던 두 원의 위치관계를 응용한 문제였다. 경우만 잘 나눌 수 있다면 생각보다 구현은 어렵지 않았다.
- 거리 $r_{1}$과 $r_{2}$을 반지름으로 생각하고, x1 y1 x2 y2을 원의 중심으로 치환하면 간단한 중학교 수학문제로 바뀐다.