반응형

문제 링크

 

4796번: 캠핑

입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스는 한 줄로 이루어져 있고, L, P, V를 순서대로 포함하고 있다. 모든 입력 정수는 int범위이다. 마지막 줄에는 0이 3개 주어진다.

www.acmicpc.net

 

풀이 )

  연속된 휴가가 p 일중에서 가장 앞에 연속된 l 일이라고 두고 풀면된다. 

 

#include <iostream>
#include <algorithm>

using namespace std;

int main(void){
    int l, p, v;
    int c = 0;
    while(1){
        c++;
        int ans = 0;
        cin >> l >> p >> v;
        if(l == 0 || p == 0 || v == 0){
            return 0;
        }
        while(v > p){
            ans += l;
            v -= p;
        }
        ans += min(l, v);
        cout << "Case " << c << ": " << ans << endl;
    }
}

 

주의 )

  마지막에 남은 휴가 일수가 p보다 적어져 안에 있는 while문을 탈출한 경우 마지막으로 l과 비교하여 더 적은 값만큼 캠핑장을 사용할 수 있다.

반응형

+ Recent posts