Notice
Recent Posts
Link
정화 코딩
[C++] 신비로운 수 (백준 17433번) 본문
https://www.acmicpc.net/problem/17433
#include <iostream>
#include <vector>
using namespace std;
int gcd(int x, int y) {
if (y == 0) return x;
return gcd(y, x % y);
}
int main() {
ios_base::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
int t, n;
cin >> t;
while (t--) {
cin >> n;
vector<int> num(n);
vector<int> dif(n - 1);
bool inf = true;
for (int i = 0; i < n; i++) {
cin >> num[i];
if (i == 0) continue;
dif[i - 1] = abs(num[i] - num[i - 1]);
if (num[i] != num[i - 1]) inf = false;
}
int ans = gcd(dif[0], dif[1]);
for (int i = 2; i < n - 1; i++) {
ans = gcd(ans, dif[i]);
}
if (inf) cout << "INFINITY\n";
else cout << ans << '\n';
}
}
백준 1684번 같은 나머지 문제에서 정답이 무한대로 발산하는 경우, 즉 입력으로 들어오는 수가 모두 같은 경우만 추가로 다뤄주면 되는 문제였다. (정답)
https://jungh150c.tistory.com/130
'PS' 카테고리의 다른 글
[C++] 사각형 게임 (Small) (백준 25046번) (0) | 2024.07.04 |
---|---|
[C++] 상근타워 (백준 3541번) (2) | 2024.07.01 |
[C++] 같은 나머지 (백준 1684번) (0) | 2024.07.01 |
[C++] 선이 하나 더ㅠㅠ (백준 29727번) (2) | 2024.06.28 |
[C++] 인형 전시 (백준 30645번) (0) | 2024.06.28 |
Comments