코딩플러스 (브루트포스) - 1476번 (C++)

2022. 7. 25. 09:05코딩테스트/백준

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

 

1476번: 날짜 계산

준규가 사는 나라는 우리가 사용하는 연도와 다른 방식을 이용한다. 준규가 사는 나라에서는 수 3개를 이용해서 연도를 나타낸다. 각각의 수는 지구, 태양, 그리고 달을 나타낸다. 지구를 나타

www.acmicpc.net

 

입력 받은 준규가 사는 나라의 연도가 될때까지

연도를 게속 증가시키면된다.

증가를 시키면서 지구 태양 달의 최대값을 넘기면 다시 1로 초기화 해주면서 진행하면됨

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
#include <iostream>
 
using namespace std;
 
const int MAX_E = 15;
const int MAX_S = 28;
const int MAX_M = 19;
 
int E, S, M;
int result = 1;
 
void Calc()
{
    int e = 1 ,s =1,m =1;
    
    while(1)
    {
        if(e == E && s == S && m == M)
            break;
        
        //1년 증가
        result++;
        
        //각 행성년도 별로 최대 년수를 넘겼는지 체크
        e++;
        if(e > MAX_E)
            e = 1;
        s++;
        if(s > MAX_S)
            s = 1;
        m++;
        if(m > MAX_M)
            m = 1;
 
    }
    
}
 
int main()
{
    ios_base::sync_with_stdio(false); // c와 c++의 표준 입출력 스트림을 동기화를 하지 않겠다는 의미
    cin.tie(nullptr); // cin사용시 출력 버퍼를 비우지(flush) 않는다.
 
    
    
    cin>>E>>S>>M;//원하는 연도
    
    Calc();
    
    cout << result;
    
    return 0;
}
cs