오답노트

[브루트포스] BOJ 1476 날짜 계산 본문

C,C++/코딩테스트

[브루트포스] BOJ 1476 날짜 계산

권멋져 2022. 5. 3. 15:20
https://www.acmicpc.net/problem/1476
 

1476번: 날짜 계산

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

www.acmicpc.net

- 문제 파악

15진수 28진수 19진수로 주어진 수로 원래 숫자를 알아낸다.

 

- 실수

시간 초과로 헤멨는데, 각각 15, 28, 19 중 하나라도 해당되면 if 문으로 들어가지 못해 무한루프를 돌았다.

예외 처리하니 바로 통과

 

- 정답

#include "bits/stdc++.h"

using namespace std;

int ans;

int main()
{
    cin.tie(NULL);
    ios::sync_with_stdio(false);
    
    int e,s,m;
    cin>>e>>s>>m;
    
    while(1)
    {
        ans++;
        
        
        int nE = ans%15;
        int nS = ans%28;
        int nM = ans%19;
        
        
        if(nE == 0)
            nE = 15;
        
        if(nS == 0)
            nS = 28;
        
        if(nM == 0)
            nM = 19;
        
        if(nE == e &&
          nS == s &&
          nM == m)
            break;    
        
           
    }
    
    cout<<ans;
    
}