gkdldyd12   9년 전

조규현의 좌표 (x1, y1)와 백승환의 좌표 (x2, y2)가 주어지고, 조규현이 계산한 류재명과의 거리 r1과 백승환이 계산한 류재명과의 거리 r2가 주어졌을 때, 류재명이 있을 수 있는 좌표의 수를 출력하는 프로그램을 작성하시오.

제 생각에는 두원의 중심점 (x1,y1),(x2,y2)와 각각의 반지름 r1,r2 가 주어지고 두 원의 위치관계를 묻는 거라고 보고

중심점 사이의 거리 d를 구하고  두 반지름 중 큰 반지름을 m 으로 작은 반지름을 n으로 한뒤

d > m+n , d == m+n , m-n < d < m+n , d == m-n , d < m-n 으로 구성하고  d == m-n 일때 d 가 0이면 두원은 같은 원 이므로

접점이 무한개라고 생각 -1 을 출력하게 했습니다. 

빠진 케이스가 있는건가요 아니면 애초에 접근법이 잘못된건가요 ㅜ 

h0ngjun7   9년 전

접근법은 틀렸다고 할 수 없을 것 같아요. d<m 이거나 d<n인 경우도 있어요.

음... 경우를 어떻게 나누느냐가 중요하긴한데 그림을 그려서 일반화하는 걸 추천드립니다.

h0ngjun7   9년 전

저는 다음과 같이 경우를 나누었습니다.

d를 두 점 사이의 거리, r1과 r2를 반지름이라 하면

1. d<r1 || d<r2

1) d == 0

(1) r1 == r2

(2) r1 != r2

2) d != 0

(1) |r1-r2| == d

(2) |r1-r2| > d

(3) |r1-r2| < d

2. d>r1 && d>r2

1) d == r1+r2

2) d > r1+r2

3) d < r1+r2

august14   9년 전

d를 구하는게 문제가 아닐까 생각해봅니다...

joonas   9년 전

축약하면 3가지로 나눌 수 있어요.

rs 를 두 반지름의 합, rd 를 두 반지름의 차 라고 하면 3가지로 나뉩니다.

댓글을 작성하려면 로그인해야 합니다.