PS
백준 4796. 캠핑
tose33
2021. 8. 9. 14:26
https://www.acmicpc.net/problem/4796
4796번: 캠핑
입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스는 한 줄로 이루어져 있고, L, P, V를 순서대로 포함하고 있다. 모든 입력 정수는 int범위이다. 마지막 줄에는 0이 3개 주어진다.
www.acmicpc.net
캠핑장을 연속하는 P일 중, L일동안만 사용할 수 있다. 강산이는 이제 막 V일짜리 휴가를 시작했다.
L P V
5 8 20
P일 중 L일을 이용할수 있으므로 먼저 V를 P로 나눈값만큼 이용할수 있으므로
(V / P) * L 만큼 캠핑장을 이용할수 있다.
그 이후 두가지 케이스가 있는데 (V/P)*L 만큼 1. 캠핑장을 이용한후 남은 일수가 L보다 큰경우와 2.낮거나 같은 경우다.
1번의 경우 지금까지 이용한 일수 (V/P)*L에 L만큼 더해주면되고
2번은 지금까지 이용한 일수에 남은 일수를 더해주면 된다.
#include <iostream>
using namespace std;
int main()
{
int tc = 1;
while(true)
{
int L,P,V;
cin >> L >> P >> V;
if(L == 0 && P == 0 && V == 0) break;
int div = V / P;
int left = V % P;
int ans;
if(left > L)
{
ans = L * div + L;
}
else
{
ans = L * div + left;
}
cout << "Case " << tc << ": " << ans << '\n';
tc++;
}
}