PS

[백준/Python] (S3) 터렛 - 1002

MSHUN 2024. 3. 10.
반응형

Baekjoon Online Judge의 1002 암호만들기 문제의 Python 풀이입니다.

 

1002번: 터렛

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

www.acmicpc.net

💻코드

T = int(input())

for _ in range(T):
    x1, y1, r1, x2, y2, r2 = map(int, input().split())
    distance = ((x2 - x1)**2 + (y2 - y1)**2)**0.5
    
    # 두 원이 완전히 일치하는 경우
    if distance == 0 and r1 == r2:
        print(-1)

    # 두 원이 외접하거나 내접하는 경우
    elif distance == r1 + r2 or distance == abs(r1 - r2):
        print(1)

    # 두 원이 서로 겹쳐서 두 점에서 교차하는 경우
    elif abs(r1 - r2) < distance < (r1 + r2):
        print(2)

    # 그 외 모든 경우 (겹치지 않는 경우)
    else:
        print(0)

🧠풀이

두 원의 위치와 거리 이용

🤔느낀 점

터렛은 75미네랄로 지을 수 있다...

Baekjoon Online Judge

반응형

댓글