728x90
반응형
풀이 방법은 원의 교점의 개수를 세는 것이다.
석원과 규현이 같은 위치에 있고 반지름이 같다면 같은 원이므로 교점의 개수는 무한.
반지름의 합 또는 차가 석원과 규현의 거리와 같다면 두 원의 접하는 것이므로 교점은 1개.
반지름의 합이 석원과 규현의 거리보다 작거나, 반지름의 차가 석원과 규현의 거리보다 크다면
두 원의 접하지 않으므로 교점은 0개.
그 이외의 경우는 원이 두 점에서 만난다.
for _ in range(int(input())):
li = list(map(int, input().split()))
p1 = li[:2]
r1 = float(li[2])
p2 = li[3:5]
r2 = float(li[5])
r = ((p2[0]-p1[0])**2 + (p2[1]-p1[1])**2) ** 0.5
if p1 == p2 and r1 == r2:
print(-1)
elif r1+r2 == r or abs(r1-r2) == r:
print(1)
elif r1+r2 < r or abs(r1-r2) > r:
print(0)
else:
print(2)
728x90
반응형
'Agorithm > 백준 알고리즘' 카테고리의 다른 글
백준 알고리즘 1008번 A/B(python) (0) | 2020.01.23 |
---|---|
백준 알고리즘 1004번 어린 왕자(python) (0) | 2020.01.23 |
백준 알고리즘 1003번 피보나치 함수(python) (0) | 2020.01.23 |
백준 알고리즘 1001번 A-B(python) (0) | 2020.01.23 |
백준 알고리즘 1000번 A+B(python) (0) | 2020.01.23 |