출처: 백준 1002번 터렛
제 2 코사인 법칙
위의 그림과 같이 제2 코사인법칙을 사용해서 값을 구해 어떤 가능성이 있는지 찾았다.
case = int(input())
for _ in range(case):
x1,y1,r1,x2,y2,r2 = map(int,input().split())
b = r1
c = r2
a = (x1-x2)**2+(y1-y2)**2
cosA = (b**2 + c**2 - a)/(2*b*c)
if b == c and a ==0:
print(-1)
elif cosA == -1 or cosA ==1:
print(1)
elif -1 < cosA and cosA < 1:
print(2)
else:
print(0)
다른 분들 풀이를 보니, 괜히 복잡하게 풀었나라는 생각도 들었다.