Algorithm Study/Python

[백준 파이썬] # 1002 터렛

728x90
반응형

Silver IV

# 1002 터렛

링크 : https://www.acmicpc.net/problem/1002

 

1002번: 터렛

각 테스트 케이스마다 류재명이 있을 수 있는 위치의 수를 출력한다. 만약 류재명이 있을 수 있는 위치의 개수가 무한대일 경우에는 -1을 출력한다.

www.acmicpc.net

 

풀이

T = int(input())
for i in range(T):
    x1, y1, r1, x2, y2, r2 = map(int, input().split())
    l = ((x2-x1)**2 + (y2-y1)**2)**0.5

    if l == 0:
        if r1==r2:
            print(-1)
        else:
            print(0)
    else:
        if r1+r2 == l or abs(r2-r1) == l:
            print(1)
        elif r1+r2 > l and abs(r2-r1) < l:
            print(2)
        else:
            print(0)

 

후기

  • 변수 설정을 잘못해서 꽤 애를 먹었다. 문제를 풀기전에 공들여 읽는 시간을 확보하자.
    ex) 문제의 x1, y1, r1, x2, y2, r2 변수를 x1, x2, r1, y1, y2, r2로 할당하는 실수가 있었다
  • 내접하는 원에 대해서도 고려해야 한다.