반응형
<코드>
#include<iostream>
#include<algorithm>
#include<queue>
#include<vector>
using namespace std;
int N, S, x, ans;
int A[100001];
int solve(int a, int b)
{
if (b == 0) return a;
else return solve(b, a % b);
}
int main()
{
ios::sync_with_stdio(0);
cin.tie(0);
cin >> N >> S;
for (int i = 0; i < N; i++)
{
cin >> x;
x = abs(S - x);
A[i] = x;
}
ans = A[0];
for (int i = 1; i < N; i++)
{
ans = solve(ans, A[i]);
}
cout << ans;
}
풀이 방법
유클리드 호제법으로 모든 수(수빈과 동생 사이의 거리)들의 최대 공약수를 찾는것이 이 문제의 핵심.
17087번: 숨바꼭질 6
수빈이는 동생 N명과 숨바꼭질을 하고 있다. 수빈이는 현재 점 S에 있고, 동생은 A1, A2, ..., AN에 있다. 수빈이는 걸어서 이동을 할 수 있다. 수빈이의 위치가 X일때 걷는다면 1초 후에 X+D나 X-D로 이
www.acmicpc.net
반응형
'🧩PS > 🥈Nomal' 카테고리의 다른 글
[C/C++] 백준 1167번 - 트리의 지름 (2) | 2021.03.14 |
---|---|
[C/C++] 백준 11725번 - 트리의 부모 찾기 (0) | 2021.03.13 |
[C/C++] 백준 11780번 - 플로이드 2 (플로이드 와샬) (0) | 2021.03.11 |
[C/C++] 백준 13913번 - 숨바꼭질 4 (BFS) (0) | 2021.03.10 |
[C/C++] 백준 11779번 - 최소비용 구하기 2 (다익스트라) (0) | 2021.03.10 |