Problem : 숨바꼭질 6
유형 : 수학
문제 설명
수빈이는 동생 N명과 숨바꼭질을 하고 있다. 수빈이는 현재 점 S에 있고, 동생은 A1, A2, …, AN에 있다.
수빈이는 걸어서 이동을 할 수 있다. 수빈이의 위치가 X일때 걷는다면 1초 후에 X+D나 X-D로 이동할 수 있다. 수빈이의 위치가 동생이 있는 위치와 같으면, 동생을 찾았다고 한다.
모든 동생을 찾기위해 D의 값을 정하려고 한다. 가능한 D의 최댓값을 구해보자.
예제 입력
1 |
|
예제 출력
1 |
|
해결 전략
수빈이와 동생들의 거리를 재본다.
모든 동생들을 찾아야 하므로, 동생들의 거리들중 최대 공약수를 구하면된다.
주의할 점
- 수빈이의 거리와 동생의 거리를 뺏을때, 음수가 될 수 있으므로 절대값을 이용해 해결한다.
풀이
수빈이와 동생들의 거리를 구한다.
- 수빈이의 위치 좌표에서 동생들의 위치 좌표를 뺀다.
- 음수가 될 수 있으므로, 절대값을 취한다.
동생들간의 거리들중 최대 공약수를 찾는다.
- 모든 동생을 찾아야 하므로, 모든 동생들에게 갈 수 있어야한다.
- 최대 공약수를 구하면된다.
코드
1 |
|
피드백
없음