⭐️ 수학
모든 숫자가 같지 않다면 15년 이후인데 가능한 년도 중에 가장 작아야하기 때문에 15를 더해가며 탐색하는 것으로 정의함
탐색 년도를 s,m 의 최대값으로 나눴을 때, 나머지가 각각 s,m 과 일치하면 해당 년도가 정답
시간초과
e 로부터 15년씩 갱신하면서 모든 수가 나누어 떨어지는 년도를 구하면 28의 배수나 19의 배수 년도가 정답일 경우, 무한 로프에 빠짐
년도를 계속 늘려가면서 현재 년도 - e
, 현재 년도 - s
, 현재 년도 - m
을 각각의 최대값으로 나누어 떨어지면 정답 년도
➡️ 년도가 각각의 최대치를 넘어서면 모든 값이 중구난방이 되기 때문에 처음 년도를 제외하고 현재 년도가 각각의 배수가 되는지 확인하는 것
❗️ 음의 배수가 나타나는 경우는 없기 때문에 현재 년도에서 각 입력값을 빼줘도 문제 없음
수학분야는 최대한 많은 유형 풀어보는 수밖에 없다..
#include <iostream>
#include <string>
using namespace std;
int main() {
int e,s,m;
cin >> e >> s >> m;
int y=1;
while(1) {
if(((y-e)%15==0)&&((y-s)%28==0)&&((y-m)%19==0)) break;
y++;
}
cout << y;
}