archive

[백준] 터렛 (Python) 본문

STUDY/알고리즘

[백준] 터렛 (Python)

seonyounggg 2021. 3. 8. 20:46

✏️ 문제

 

1002번: 터렛

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

www.acmicpc.net

✏️ 풀이

(x1, y1)과 목적지 사이의 거리가 r1이고, (x2, y2)와 목적지의 거리가 r2일 때,

목적지가 될 수 있는 좌표의 수를 출력해야 한다.

즉, 두 원의 교점의 개수를 구하는 문제이다.

두 원의 위치 관계를 고려하여 교점의 개수를 출력해줘야 한다.

 

✏️ 코드

import math

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

    d = math.sqrt((x2-x1)**2 + (y2-y1)**2)
    if d==0:
        if r1==r2:
            print(-1)
        else:
            print(0)
    elif d > r1 + r2:
        print(0)
    elif d < r1 + r2 and d > abs(r1 - r2):
        print(2)
    elif d == r1 + r2:
        print(1)
    elif d==abs(r1-r2):
        print(1)
    elif d < abs(r1-r2):
        print(0)

✏️ 생각

생긴 거에 비해서(?) 쉬운 문제였다.

문제가 너무 풀기 싫게 생김..정답률도...🧐

 

'STUDY > 알고리즘' 카테고리의 다른 글

[백준] 블랙잭 (Python)  (0) 2021.03.08
[백준] 수 정렬하기 3 (Python)  (0) 2021.03.08
[백준] 골드바흐의 추측 (Python)  (0) 2021.03.08
[백준] 영화감독 숌 (Python)  (0) 2021.03.06
[백준] 소수 구하기 (Python)  (0) 2021.03.04
Comments