1일1알

백준 10166번 관중석 C++ 본문

알고리즘

백준 10166번 관중석 C++

영춘권의달인 2023. 2. 21. 13:15

https://www.acmicpc.net/problem/10166

 

10166번: 관중석

KOI 공연장의 관중석에는 가운데에 있는 무대를 중심으로 반지름이 자연수인 동심원(중심이 같은 여러 원들) 위에 다음과 같이 좌석들이 배치되어 있다. 반지름이 1인 원 위에는 좌석이 1개, 반지

www.acmicpc.net

 

각도를 직접 구하면 오차가 있을 수 있어서 분수 형태로 풀었다.

 

#include <iostream>
#include <string>
#include <vector>
#include <math.h>
#include <algorithm>
#include <utility>
#include <stack>
#include <queue>
#include <math.h>
#include <set>
#include <map>
#include <list>
#include <unordered_map>
#include <unordered_set>
#include <iomanip>
#include <limits.h>

using namespace std;
using int64 = long long;

int d1, d2;
set<pair<int,int>> s;

int Gcd(int a, int b) {
    if (a % b == 0) return b;
    else return Gcd(b, a % b);
}

int main() {
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    cout.tie(NULL);

    cin >> d1 >> d2;
    for (int i = d1; i <= d2; i++) {
        for (int j = 1; j < i; j++) {
            int gcd = Gcd(i, j);
            s.insert({ i / gcd,j / gcd });
        }
    }
    cout << s.size() + 1;
}

'알고리즘' 카테고리의 다른 글

백준18429번 근손실 C++  (0) 2023.02.23
백준 11265번 끝나지 않는 파티 C++  (0) 2023.02.22
백준 2594번 놀이공원 C++  (0) 2023.02.20
백준 1464번 뒤집기 3 C++  (1) 2023.02.19
백준 24230번 트리 색칠하기 C++  (0) 2023.02.18