백준 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 |
댓글