본문 바로가기
컴퓨터/C, C++

[C/C++] 백준 2869번 C언어

by stdFrog 2022. 5. 31.

백준 2869번

 

땅 위에 달팽이가 있다. 이 달팽이는 높이가 V미터인 나무 막대를 올라갈 것이다.

 

달팽이는 낮에 A미터 올라갈 수 있다.

하지만, 밤에 잠을 자는 동안 B미터 미끄러진다. 또, 정상에 올라간 후에는 미끄러지지 않는다.

 

달팽이가 나무 막대를 모두 올라가려면, 며칠이 걸리는지 구하는 프로그램을 작성하시오.

 

첫째 줄에 세 정수 A, B, V가 공백으로 구분되어서 주어진다. (1 ≤ B < A ≤ V ≤ 1,000,000,000)

 

첫째 줄에 달팽이가 나무 막대를 모두 올라가는데 며칠이 걸리는지 출력한다.

 

#include <stdio.h>

int main()
{
        int Move, Slide, Height, Date=0; // 10억 이하 정수
        scanf("%d %d %d", &Move, &Slide, &Height);

        /*
         예제 입력을 보면 2, 1, 5란 값을 받았을 때 총 4일이란 시간이 걸린다고 나와있다.
         0에서 시작하여 2만큼 올라가고 1만큼 떨어지기를 반복하면 나무 막대 최상단에 도착하기 직전의
         높이는 3이다(Height - Move).
         여기서 2만큼 이동하면 최상단에 도착한 것으로 보고 1만큼 차감되지 않는다.
        */

        // 기본 코드
        /*
        while(1){
                Date++;
                Point = Point + Move;
                if(Height<=Point){
                        break;
                }
                Point = Point - Slide;
        }
        printf("%d", Date);
        */

        // Ex_ Move = 30, Slide = 10, Height = 80
        Height = Height - Move; Date++;
        Move = Move - Slide;
        Date = Date + (Height / Move);
        if(Height % Move){
                Date++;
        }
        printf("%d", Date);
}

 

따로 설명은 필요없을 것 같다.

주석으로 부분 부분 설명을 추가해뒀다.

반응형

'컴퓨터 > C, C++' 카테고리의 다른 글

[C/C++] 백준 2775번 C언어  (2) 2022.06.02
[C/C++] 백준 10250번 C언어  (0) 2022.06.01
[C/C++] 백준 1193번 C언어  (0) 2022.05.31
[C/C++] 백준 2292번 C언어  (0) 2022.05.26
[C/C++] 백준 1712번 C언어  (0) 2022.05.26

댓글