문제링크 : www.acmicpc.net/problem/4796
그렇게 어려운 문제는 아니었다. 첫 날부터 캠핑장을 사용한다고 하면 최대 캠핑장 사용 일수를 구할 수 있다.
구체적으로는 V일 중 P일의 사이클이 V//P번 완전하게 반복하므로 L*(V//P)일동안 캠핑장을 사용하고, 마지막 부분은 V%P와 L중 작은 값 만큼 캠핑장을 사용한다. 따라서 캠핑장 최대 사용일은 L*(V//P) + min(V%P, L)이다.
예제로 주어진 L=5, P=8, V=20일 경우를 살펴보면
V//P = 2이므로 P일의 사이클이 2번 반복되므로 16일까지 10번 캠핑장을 이용하고, V%P = 4, L=5이므로 마지막 4일동안 모두 캠핑장을 사용하므로 총 14일동안 캠핑장을 이용한다. 소스코드는 다음과 같다.
import sys
i = 0
while True:
L, P, V = map(int, sys.stdin.readline().rstrip().split())
if L == 0 and P == 0 and V == 0:
break
print('Case %d: %d' % (i+1, L*(V//P) + min(V%P, L)))
i += 1
'알고리즘 > 백준' 카테고리의 다른 글
[백준] 14891번 - 톱니바퀴 (0) | 2021.01.03 |
---|---|
[백준] 1449번 - 수리공 항승 (0) | 2021.01.03 |
[백준] 2217번 - 로프 (0) | 2021.01.03 |
[백준] 1932번 - 정수 삼각형 (0) | 2021.01.02 |
[백준] 9461번 - 파도반 수열 (0) | 2021.01.02 |