PS알못 OrbitHv의 PS logo PS알못 OrbitHv의 PS

태그:

두 터렛의 위치와 목표까지의 거리가 주어졌을 때 목표가 존재할 수 있는 위치의 개수를 출력하는 문제입니다. 이 문제는 중학교 수학에서 배우는 두 원의 위치 관계를 이용하여 풀 수 있습니다.

관계 판별식 교점
외부 \(r_1+r_2\lt d\) 0
외접 \(r_1+r_2=d\) 1
두 개의 교점 \(|r_1-r_2|\lt d\lt r_1+r_2\) 2
내접 \(|r_1-r_2|=d\) 1, \(\infty\)
내부 \(|r_1-r_2|\gt d\) 0

그런데 여기서 내접의 경우는 교점이 한 개만 존재할 수도 있고 무한히 많을 수도 있습니다. 무한히 많은 경우는 두 원의 중심이 같고 반지름이 같은 경우, 즉 두 원이 일치하는 경우입니다. 조건문을 이용하여 위의 경우를 모두 판단하되, 내접의 경우 두 원이 일치하는지 판단하여 올바른 교점의 개수를 출력하면 됩니다.

소스 코드

언어 코드 시간
Python 3 코드(Github) / 코드(백준) 2020-03-28 03:31:07