본문 바로가기
Study/알고리즘

[백준 알고리즘] 1002번 Python

by Becoming a Hacker 2021. 10. 4.
반응형

문제 정보

 

제출 코드

# https://yoonsang-it.tistory.com/32 참고
n = int(input())

for i in range(n):
	x1, y1, r1, x2, y2, r2 = map(int,input().split())

	# 피타고라스 정리	
	distance = ((x2 - x1) ** 2 + (y2 - y1) ** 2) ** 0.5
	r_d = [r1,r2,distance]
	max_v = max(r_d)
	r_d.remove(max_v)

	# 접점이 무한히 많은 경우
	if(r1==r2 and distance==0):
		print(-1)
	# 접점이 0개인 경우
	elif(max_v>r_d[0]+r_d[1]):
		print(0)
	# 접점이 1개인 경우
	elif(r1+r2==distance or abs(r1-r2)==distance):
		print(1)
	# 그 외 모든 조건은 접점이 2개임
	else:
		print(2)

댓글