DataScience/백준

1002번 문제풀이

mkk4726 2023. 6. 8. 10:32
 

이 문제를 보면 결국 두 원 사이의 위치에 대한 문제이다. 

한 좌표와 거리 안에 존재할 수 있는 점은, 원으로 표시되기 때문이다.

이에 대해 다음과 같이 풀어봤다.

 

문제 풀이과정

그리고 이를 구현한 코드는 다음과 같다.

N = int(input())

for _ in range(N):
    x1, y1, r1, x2, y2, r2 = map(int, input().split())
    d = ((x1 - x2) ** 2 + (y1 - y2) ** 2) ** 0.5
    
    if (x1==x2 and y1==y2 and r1==r2): print(-1)
    elif (d == r1 + r2 or d == max(r1,r2) - min(r1, r2)): print(1)
    elif (d < r1 + r2 and max(r1, r2) < d + min(r1, r2)): print(2)
    else: print(0)