마음만은 새내기

항상 초심을 잃지 않고 생활하겠습니다~!

프로그래밍/Baekjoon Online Judge

BOJ 1002번(터렛) 문제 풀이

동동매니저 2019. 1. 22. 11:36

★ solved.ac 난이도 : S4

(2021년 12월 29일 기준)


[문제 링크]

 

1002번: 터렛

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

www.acmicpc.net


[문제 분석]​

기초적인 원의 정보(두 원의 교점의 개수)를 분석하는 문제


[풀이]

이 문제는 두 원의 중심 좌표와 반지름이 주어졌을 때, 교점의 개수를 구하는 문제입니다.

원이 만나는 경우도 여러 가지가 있습니다.

(여기에서 D = (두 원의 중심 사이의 거리), r = (작은 원의 반지름), R = (큰 원의 반지름)으로 두겠습니다.)

 

경우 1. 두 원이 일치하는 경우 : 교점의 개수는 무한대 (출력 = -1)

경우 2. 두 원이 붙어있는 경우 (D = r+R) : 교점의 개수는 1 (출력 = 1)

경우 3. (R-r) < D < (R+r) 인 경우 : 교점의 개수는 2 (출력 = 2)

경우 4. D+r = R인 경우 : 교점의 개수는 1 (출력 = 1)

경우 5. 위에서 모두 해당되지 않는 경우 : 교점의 개수는 0 (출력 = 0)

 

설명이 어렵게 느껴지신다면, 아래의 파일을 참고해주세요~! (그림 포함)

 

1002_풀이_참고자료.pdf
다운로드


[소스 코드]

 

공유 소스 보기

 

www.acmicpc.net

만약 틀린 점이 있다면 지적 부탁드릴게요~! (댓글 환영!!)