https://www.acmicpc.net/problem/6064
6064번: 카잉 달력
문제 최근에 ICPC 탐사대는 남아메리카의 잉카 제국이 놀라운 문명을 지닌 카잉 제국을 토대로 하여 세워졌다는 사실을 발견했다. 카잉 제국의 백성들은 특이한 달력을 사용한 것으로 알려져 있�
www.acmicpc.net
문제가 워낙 쉬워 보여 하나 더 풀어보았습니다.
S = {<x:y> | x = S % M, y = S % N}라고 했을 때 S를 구하라는 문제입니다.
간단히 두 Modular 연산 결과를 보고 원래 수를 구하라는 문제인데,
간단하게 하나씩 더해보았는데 정답을 맞출 수 있었습니다.
단, x와 y중 하나를 기준으로 M과 N의 최소공배수 이상 더했음에도 답이 나오지 않으면
나올 수 없는 결과 값이므로 -1을 출력합니다.
사실 귀찮아서 최소공배수가 아니라 M * N까지 연산을 하였는데 아슬아슬하게 통과할 수 있었습니다.
이 문제를 언제 왜 못풀었나 살펴보니 4년 전이었습니다.
아마 대충 도전 했다가 놀았거나,
다국어로 되어 있는 걸로 보아 영어로 적힌 것을 해석하지 못하고 포기했던 것 같습니다.
더보기
#include <iostream>
using namespace std;
int main()
{
int testcase = 0, M = 0, N = 0, x = 0, y = 0;
cin >> testcase;
while (testcase-- > 0)
{
int sum = 0;
cin >> M >> N >> x >> y;
while ((x != y) && (sum < (M * N)))
{
if (x > y)
{
y += N;
sum += N;
}
else
{
x += M;
}
}
if (sum >= (M * N))
{
cout << -1 << endl;
}
else
{
cout << x << endl;
}
}
}
'개발일지 > Algorithm' 카테고리의 다른 글
20.06.26 개발일지 - Henry (0) | 2020.06.26 |
---|---|
20.06.25 개발일지 - 잃어버린 괄호 (0) | 2020.06.25 |
20.06.25 개발일지 - 수 정렬하기 3 (0) | 2020.06.25 |
20.06.24 개발일지 - 수 정렬하기 3 (0) | 2020.06.24 |
20.06.24 개발일지 (0) | 2020.06.24 |