
3
10 12 3 9
10 12 7 2
13 11 5 6
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)가 동시에 같은 해로 나타나는 시점을 찾는 것임
#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