반응형
https://www.acmicpc.net/problem/10166
10166번: 관중석
KOI 공연장의 관중석에는 가운데에 있는 무대를 중심으로 반지름이 자연수인 동심원(중심이 같은 여러 원들) 위에 다음과 같이 좌석들이 배치되어 있다. 반지름이 1인 원 위에는 좌석이 1개, 반지
www.acmicpc.net
접근방법[알고리즘]
2차원 배열로 분수 형태를 나타낼 수 있다.
분수를 기약분수로 나타내기 위해 최대공약수를 이용해야 한다.
문제풀이코드 C++
#include <bits/stdc++.h>
using namespace std;
int GCD(int a, int b) {
if (a < b) swap(a, b);
if (a % b == 0) {
return b;
}
else {
return GCD(b, a % b);
}
}
bool ch[2001][2001];
int main() {
ios::sync_with_stdio(0);
cin.tie(0);
int a, b;
cin >> a >> b;
int ans = 1;
for (int i = a; i <= b; i++) {
for (int j = 1; j < i; j++) {
int mod = GCD(i, j);
int a = j / mod;
int b = i / mod;
if (ch[a][b] == 0) {
ans++;
ch[a][b] = 1;
}
}
}
cout << ans <<'\n';
return 0;
}
반응형
'Algorithm > problem' 카테고리의 다른 글
백준 1916번: 최소비용 구하기 - 다익스트라 C++ (0) | 2022.02.15 |
---|---|
백준 10800 : 컬러볼 누적합, 투포인터 활용 C++ (0) | 2022.02.14 |
백준 2573번 : 빙산 - BFS 활용 C++ (0) | 2022.02.13 |
백준 15971번: 두 로봇 C++ 문제풀이코드 (0) | 2022.02.13 |
백준 2636번 : 치즈 BFS C++ (0) | 2022.02.13 |