두 터렛의 위치와 목표까지의 거리가 주어졌을 때 목표가 존재할 수 있는 위치의 개수를 출력하는 문제입니다. 이 문제는 중학교 수학에서 배우는 두 원의 위치 관계를 이용하여 풀 수 있습니다.
관계 | 판별식 | 교점 |
---|---|---|
외부 | \(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 |