728x90
1. 백준 6064. 카잉달력 (실1)
https://www.acmicpc.net/problem/6064
6064번: 카잉 달력
입력 데이터는 표준 입력을 사용한다. 입력은 T개의 테스트 데이터로 구성된다. 입력의 첫 번째 줄에는 입력 데이터의 수를 나타내는 정수 T가 주어진다. 각 테스트 데이터는 한 줄로 구성된다.
www.acmicpc.net
풀이
CODE
import math
import sys
sys.stdin = open('input.txt', 'r')
input = sys.stdin.readline
for _ in range(int(input())):
m, n, x, y = map(int, input().split())
max_kaing = math.lcm(m, n) # 마지막 해는 두 수의 최소 공배수
check = x
# 마지막 해를 출력하는 경우
if m == x and n == y:
print(max_kaing)
else:
# 못 만들 경우 -1 출력
ans = -1
while True:
if check >= max_kaing:
break
elif n == y and check % n == 0:
ans = check
break
elif check % n == y:
ans = check
break
check += m
print(ans)
- 수학, 구현 문제 풀이
- 반례를 찾기 굉장히 어려웠는데 (https://www.acmicpc.net/board/view/21503) ⬅️ 이 링크에서 반례를 참고 많이 했다!
728x90
'알고리즘' 카테고리의 다른 글
[백준/Python] 1107. 리모컨 (1) | 2023.09.24 |
---|---|
[백준/Python] 14232. 보석도둑 (0) | 2023.09.24 |
[백준/Python] 13565. 침투 (1) | 2023.09.24 |
[백준/Python] 2725. 보이는 점의 개수 & 15988. 1, 2, 3 더하기 3 (0) | 2023.09.06 |
[프로그래머스/Python] 호텔 대실 & 배달 (0) | 2023.08.24 |