https://www.acmicpc.net/problem/1002
예제 입력 1
3
0 0 13 40 0 37
0 0 3 0 7 4
1 1 1 1 1 5
예제 출력 1
2
1
0
소스코드:
from math import sqrt
T = int(input())
for _ in range(T):
x1, y1, r1, x2, y2, r2 = map(int, input().split())
dist = sqrt((x1 - x2) ** 2 + (y1 - y2) ** 2)
diff = abs(r1 - r2)
ans = 0
# 두 원이 일치 (적이 무한대)
if dist == 0 and r1 == r2:
ans = -1
# 두 원이 외접하거나, 내접할 때 (적이 하나)
elif dist == r1 + r2 or dist == diff:
ans = 1
# 두 원이 두 점에서 만날 때 (적이 둘)
elif diff < dist < r1 + r2:
ans = 2
else:
print(0) # 그 외에
print(ans)
설명 참고 링크: https://itstory1592.tistory.com/33
'백준' 카테고리의 다른 글
[백준/파이썬] 4673번: 셀프 넘버 (1) | 2024.03.23 |
---|---|
[백준/파이썬] 2292번: 벌집 (0) | 2024.03.23 |
[백준/파이썬] 14215번: 세 막대 (0) | 2024.03.23 |
[백준/파이썬] 10818번: 최소, 최대 (0) | 2024.03.23 |
[백준/파이썬] 8393번: 합 (0) | 2024.03.23 |