https://www.acmicpc.net/problem/2869
< 달팽이는 올라가고 싶다 >
이 문제는 달팽이가 하루 A만큼 올라간 뒤에 B만큼 미끄러질 때, 총 V 만큼 가려면 며칠이 걸리는 지 계산하면 되는 문제이다.
즉 하루에 ( A - B ) 만큼 올라갈 수 있는 것이고 도달하는 날에는 미끄러지는 것을 계산할 필요가 없으므로, A 만큼 올라간 것으로 보면 된다.
V - A 만큼만 가면 다음 날은 도착이므로, V - A 까지만 ( A - B ) 만큼 가는 것으로 계산해주면 된다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | #include <iostream> using namespace std; int main() { ios_base::sync_with_stdio(0); cin.tie(0); int a, b, v; int temp, n; cin >> a >> b >> v; temp = v - a; n = temp / (a - b); if(temp % (a - b) != 0) ++n; cout << ++n << '\n'; return 0; } | cs |
( V - A ) 가 ( A - B ) 로 나누어 떨어지지 않는다면 V - A 만큼 도달하지 못했다는 것으로 +1을 해주고,
마지막 남은 거리는 A 이하이므로, 하루를 더 더해주면 된다.
'알고리즘 > 백준 문제풀기' 카테고리의 다른 글
BOJ 백준 1652 누울 자리를 찾아라 <수학> (0) | 2019.02.03 |
---|---|
BOJ 백준 1037 약수 <수학> (0) | 2019.02.02 |
BOJ 백준 3053 택시 기하학 < 기하 알고리즘 > (0) | 2019.01.30 |
BOJ 백준 9251 LCS <dp, LCS> (0) | 2019.01.11 |
BOJ 백준 2162 선분 그룹 <선분 교차> (0) | 2019.01.09 |