두 원의 좌표와 반지름이 주어질 때, 교점의 갯수(2, 1, 0, 무한할 경우 -1)를 출력하는 코드 작성
n = int(input())
for _ in range(n):
x1, y1, r1, x2, y2, r2 = map(int, input().split())
d = (pow(x1 - x2, 2) + pow(y1 - y2, 2)) ** 0.5
if d == 0 and r1 == r2:
print(-1)
elif abs(r1 - r2) == d or r1+r2 == d:
print(1)
elif abs(r1 - r2) < d < (r1 + r2):
print(2)
else:
print(0)
d
)d
가 0이고 두 원의 반지름이 같을 경우 교점은 무한히 존재d
와 두 원의 반지름의 차가 같을 경우 두 원은 내접하며, 거리 d
가 두 원지름의 합과 같을 경우 두 원은 외접하므로 교점은 1개d
보다 크고, 반지름의 차가 d
보다 작을 경우 교점은 2개d
가 클 경우)는 교점이 존재하지 않음