Algorithm/📖Baekjoon

#4796 캠핑

yewoneeee 2022. 7. 25. 19:40

# 문제

# 입력 및 출력

# 풀이

처음엔 결과 값이 v / p * l + v % p 인 줄 알았는데

v % p 값이 l 보다 큰 경우를 생각하지 못해서 틀렸다

입력이 5 8 22 인 경우를 예를 들어보자

22 / 8 * 5 = 10 

22 % 8 = 6

따라서 처음 생각한 식에 대입하면 16이지만 한 턴에 최대 l일 동안만 캠핑장을 사용할 수 있기 때문에

22 % 8 의 값인 6을 더하는 것이 아니라 5를 더해 15가 되어야 한다

 

즉, 결과 값은 v % p가 l보다 작은 경우엔 v / p * l + v % p

v % p가 l보다 큰 경우엔  v / p * l  + l 가 된다

 

#include <iostream>
using namespace std;

int main() {
	int l, p, v, res, i = 1;
	while (1) {
		cin >> l >> p >> v;
		if (!l && !p && !v) break;
		res = v / p * l;
		res += v % p > l ? l : v % p;
		cout << "Case " << i++ << ": " << res << "\n";
	}
}