n= int(input())
ans=[]
for i in range(n):
x1, y1, r1, x2, y2, r2= map(int,input().split(' '))
between_cy1_cy2 = ((y1-y2)**2 +(x1-x2)**2 )**(1/2)
if between_cy1_cy2 == r1 + r2: # 두원이 외접하면서 한 곳에서 만나기
ans.append(1)
#print("접점은 1개:",1)
elif r2>r1 and between_cy1_cy2+r1 == r2: # 두 원이 내접하면서 한 점에서 만나기
ans.append(1)
elif r1>r2 and between_cy1_cy2+r2 == r1: # 두 원이 내접하면서 한 점에서 만나기
ans.append(1)
elif r1<r2 and between_cy1_cy2+ r1 <r2: # 한원이 다른원 내부에 존재
ans.append(0)
elif r1>r2 and between_cy1_cy2+ r2 < r1: # 한원이 다른원 내부에 존재
ans.append(0)
elif between_cy1_cy2 <r1 + r2:
ans.append(2)
elif r1+r2 <between_cy1_cy2: # 두 원이 서로 떨어져있는 경우
ans.append(0)
#print("접점은 0개:",0)
else: # 두원의 중심이 일치 할때
if r1 == r2 :
ans.append(-1)
#print("접점은 무한대:",-1)
else:
ans.append(0)
#print("접점은 0개:",0)
for x in ans:
print(x)
https://www.acmicpc.net/problem/1002
Baekjoon Online JudgeBaekjoon Online Judgewww.acmicpc.net1002번 터렛 문젠데
이거 제출하면 50% 에서 계속 틀렸습니다 거림..
억까아님?
나 이거 풀긴 풀었는데 한참전이라 기억이 잘 안난다 잠깐
궁금해서 옛날 내 코드보니까 자바로 풀었는데도 이거보다 코드짧은데
파이썬은 숫자 자료형 알아서 잡아주지않나? 자바였음 그문젠데 그것도아닌거같고 나도 잘 모르겠다