본문 바로가기
DataScience/백준

1002번 문제풀이

by mkk4726 2023. 6. 8.
 

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

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

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

 

문제 풀이과정

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

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)

 

'DataScience > 백준' 카테고리의 다른 글

백준 개발환경에서 테스트 쉽게하기  (0) 2023.06.11
[백준] 11726 : 2xn 타일링  (0) 2023.06.11
1005번 문제풀이  (0) 2023.06.09
1004번 문제풀이  (0) 2023.06.09
1003번 문제풀이  (0) 2023.06.08

댓글