https://www.acmicpc.net/problem/2869
위 문제에서 달팽이는 V미터만큼 올라가야하는데 낮에는 A미터만큼 올라가고, 밤에는 B미터만큼 미끄러진다.
그리고 정상에 올라간 후에는 미끄러지지 않는다.
즉, 정상에 오르기 전에는 하루에 (A-B)만큼 오른다는 말이다.
그러니까 정상에 올랐을 경우에는 미끄러지지 않기 때문에
(V-A)미터를 하루에 (A-B)만큼 올랐을 경우 며칠이 걸리는지를 구하고 하루를 더해주면 된다.
간단한게 (V-A) / (A-B)를 구하고 1을 더해주면 된다.
하지만 위 식에서 나머지가 있다면 아직 (V-A)만큼을 못 올랐기 때문에 1을 한 번 더 더해준다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
#include <stdio.h>
#include <math.h>
int main()
{
int A, B, V;
scanf("%d %d %d", &A, &B, &V);
int cc = (V - A)/ (A - B);
if ((V - A) % (A - B) != 0)
cc++;
printf("%d", cc + 1);
}
|
cs |
'Problem Solving' 카테고리의 다른 글
[BOJ 1331] 나이트투어 (0) | 2019.03.10 |
---|---|
[BOJ 1037] 약수 (0) | 2019.03.10 |
[BOJ 2004] 조합 0의 개수 (0) | 2019.03.03 |
[BOJ 1676] 팩토리얼 0의 개수 (0) | 2019.03.03 |
[BOJ 2903] 중앙 이동 알고리즘 (0) | 2019.03.03 |