백준 c++

백준 1476 c++ 날짜 계산

현구구 2024. 1. 29. 10:23

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