6064_카잉 달력

이준혁·2025년 11월 12일

code

목록 보기
4/7

예제 입력 1

3
10 12 3 9
10 12 7 2
13 11 5 6

예제 출력 1

33
-1
83

코드 풀이

  • 해당 부분은 문제의 의미를 깨닫는데 조금 오래 걸렸음

예를 들어 M=10, N=12, x=3, y=9라면:

1년 → (1,1)

2년 → (2,2)

10년 → (10,10)

11년 → (1,11)

12년 → (2,12)

13년 → (3,1)
이런식으로 진행이 되는 것임

그래서 목표는 (x, y)가 동시에 같은 해로 나타나는 시점을 찾는 것임

Code

#include <iostream>
using namespace std;
int T,M,N,x,y;
int main()
{
    ios::sync_with_stdio(0), cin.tie(0); //C표준 입출력과 분리하고 Cin과 cout 연결 해제
    cin>>T; //입력
    while(T--) //반복 시작
    {
    cin >> M >> N >> x >> y;
    while(true)
       {
            if(x==y)
            {
                cout << x<<"\n";
                break;
            }
            else if(x>M*N)
            {
                cout << -1<<"\n";
                break;
            }

            if(x<y)
            {
                x+=M;
            }
            else
            {
                y+=N;
            }
        }
    }
    return 0;
}

출처
https://velog.io/@publicminsu/C%EB%B0%B1%EC%A4%80-6064-%EC%B9%B4%EC%9E%89-%EB%8B%AC%EB%A0%A5

profile
#자기공부 #틀린것도많음 #자기개발 여러분 인생이 힘들다 하더라도 그것을 깨는 순간 큰 희열감으로 옵니다~

0개의 댓글