BOJ-1002 (Silver IV)
N

BOJ-1002 (Silver IV)

728x90
반응형

 

케이스만 꼼꼼히 나누면 되는 문제였다.

# 부동소수점에 주의한다. sqrt()사용주의
T = int(input())
answer = 0
for _ in range(T):
  x1,y1,r1,x2,y2,r2 = map(int, input().split())

  #case1: 두원이 멀리떨어져 접하지 않을때: return 0
  if (x2-x1)**2 + (y2-y1)**2 > (r1 + r2)**2: 
    answer = 0

  #case2: 두원이 겹칠때: return -1
  elif (r1==r2 and x1==x2 and y1==y2): 
    answer = -1
  
  #case3: 두원이 외접할때: return 1
  elif (r1+r2)**2 == (x2-x1)**2 + (y2-y1)**2:
    answer = 1

  #case4: 두원이 내접할때: return 1
  elif abs(r2-r1)**2 == (x2-x1)**2 + (y2-y1)**2:
    answer = 1

  #case5: 한원이 안에 있고 접점이 존재하지 않을때
  elif abs(r2-r1)**2 > (x2-x1)**2 + (y2-y1)**2:
    answer = 0

  #case6: 두원이 두점에서 겹칠때: return 2
  else:
    answer = 2

  print(answer)
728x90
반응형

'N' 카테고리의 다른 글

BOJ-9020 (Silver I)  (0) 2021.09.22
BOJ-4948 (Silver II)  (0) 2021.09.22
BOJ-1929 (Silver II)  (0) 2021.09.22