728x90
반응형
k = int(input())
i=0
while i < k:
x1,y1,r1,x2,y2,r2 = input().split()
a = ((int(x1) - int(x2)))**2
b = ((int(y1) - int(y2)))**2
distance = (int(a)+int(b))**0.5
if int(r1)+int(r2) == distance:
print(1)
elif distance < int(r1)+int(r2) and distance > abs(int(r1)-int(r2)):
print(2)
elif (distance > int(r1)+int(r2)) or (distance == 0 and r1 != r2):
print(0)
elif int(r1)>int(r2):
if distance + int(r2) < int(r1):
print(0)
elif distance + int(r2) == int(r1):
print(1)
elif int(r2) > int(r1):
if distance + int(r1) < int(r2):
print(0)
elif distance + int(r1) == int(r2):
print(1)
elif x1 == x2 and y1 == y2 and r1 == r2:
print(-1)
i=i+1
좌표와 반지름이 주어진 것을 원을 그린다고 생각하면 된다.
원의 접점을 찾는 문제였다.
조건을 정리해놓은 아이패드 필기 자료를 올리도록 해보겠다.
한 번에 맞아서 기분이 좋다.
.
728x90
반응형
'Algorithm & Data Structure' 카테고리의 다른 글
DFS & BFS (0) | 2022.01.08 |
---|---|
백준 - 2108번 (0) | 2022.01.07 |
백준 - 4948번 (0) | 2021.12.23 |
백준 - 2581번 (0) | 2021.12.21 |
백준 - 1011번 (0) | 2021.12.20 |