[BOJ-Code] 4796 - 캠핑

Posted by DHniyeo Blog on March 9, 2024

문제 링크

💡 그리디 알고리즘/수학

Memory 1112KB Time 0ms Code Length 266B

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include<stdio.h>

int main()
{
	int L = 1, P = 1, V = 1;
	int t = 1;
	while (1) {
		scanf("%d %d %d", &L, &P, &V);
		if (L == 0 && P == 0 && V == 0) break;
		int tmp = V%P;
		if (tmp > L) {
			tmp = L;
		}
		printf("Case %d: %d\n", t, L*(V / P) + tmp);
		t++;
	}

}

이 코드는 캠핑장을 이용할 수 있는 일 수를 계산하는 프로그램이다.

  • L은 연속하는 일 수 중 캠핑장을 이용할 수 있는 일 수이다.
  • P는 연속하는 일 수 중 휴가 일 수이다.
  • V는 휴가의 총 일 수이다.

프로그램은 무한 루프로 돌면서 L, P, V를 입력받는다. 만약 L, P, V가 모두 0이면 프로그램을 종료한다. V를 P로 나눈 나머지를 tmp에 저장하고, tmp가 L보다 크다면 tmp를 L로 대체한다. 마지막으로 Case t: 결과값을 출력하는데, 이는 (V/P)*L + tmp를 계산한 값이다. t는 테스트 케이스 번호를 나타내며, 각각의 입력에 대해 결과값을 출력한다.