🧩PS/🥈Nomal
[C/C++] 백준 17087번 - 숨바꼭질 6
Cocoon_
2021. 3. 11. 21:48
반응형
<코드>
#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
반응형