- 문제 링크
링크텍스트
- 풀이 전 계획 및 생각
여러 경우의 수로 나뉠것으로 생각 한다 목표점이 두 터렛 사이에 있는 경우, 두 터렛과 목표점이 일직선일 경우, 두 터렛의 위치가 같을경우 각 경우로 나누어 return 값을 산출
- 풀이
def terret(pos1,pos2,r1,r2):
pow_dist_p1_p2 = ((pos1[0] - pos2[0]) ** 2 + (pos1[1] - pos2[1])**2) ** 0.5
if pow_dist_p1_p2 == 0 and r1 == r2:
return -1
else:
return 0
if r1 + r2 > pow_dist_p1_p2:
if r1 - r2 == pow_dist_p1_p2 or r2 - r1 == pow_dist_p1_p2:
return 1
else:
return 2
elif r1 + r2 == pow_dist_p1_p2 :
return 1
else:
return 0
output_list=[]
case = int(input())
for num in range(case):
x1,y1,r1,x2,y2,r2 = map(int,input().split())
pos1 = [x1,y1]
pos2 = [x2,y2]
output_list.append(terret(pos1,pos2,r1,r2))
for num in range(case):
print(output_list[num])