https://www.acmicpc.net/problem/1476
1476번: 날짜 계산
준규가 사는 나라는 우리가 사용하는 연도와 다른 방식을 이용한다. 준규가 사는 나라에서는 수 3개를 이용해서 연도를 나타낸다. 각각의 수는 지구, 태양, 그리고 달을 나타낸다. 지구를 나타
www.acmicpc.net
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int maxRange = 15 * 28 * 19;
vector<vector<bool>> arr(3, vector<bool>(maxRange, false));
void check(int n, int ESB)
{
for (int i = n; i <= maxRange; i = i + ESB)
{
if (ESB == 15)
{
arr[0][i] = true;
}
else if (ESB == 28)
{
arr[1][i] = true;
}
else if (ESB == 19)
{
arr[2][i] = true;
}
}
}
int main()
{
//입력
int E, S, M;
cin >> E >> S >> M;
//알고리즘
check(E, 15);
check(S, 28);
check(M, 19);
//출력
for (int i = 1; i <= maxRange; i++)
{
if (arr[0][i] && arr[1][i] && arr[2][i])
{
cout << i;
break;
}
}
}
지구 / 태양 / 달
E / S / M <1 ≤ E ≤ 15, 1 ≤ S ≤ 28, 1 ≤ M ≤ 19>
1 / 2 / 3 이 주어졋다고 하면
1에 15를 계속 더해감
2에 28를 계속 더해감
3에 19를 계속 더해감
어느 순간 같아지는 값이 있을 것
'백준 c++' 카테고리의 다른 글
백준 3085 c++ 사탕 게임 (0) | 2024.01.28 |
---|---|
백준 2309 일곱 난쟁이 c++ (0) | 2024.01.27 |
백준 6588 c++ 골드바흐의 추측 (0) | 2024.01.27 |
백준 1929 c++ 소수 구하기 (0) | 2024.01.26 |
백준 1978 c++ 소수 찾기 (0) | 2024.01.26 |