본문 바로가기

알고리즘/백준 문제풀기

BOJ 백준 2869 달팽이는 올라가고 싶다 <수학>

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';
    
    return 0;
}
cs


( V - A ) 가 ( A - B ) 로 나누어 떨어지지 않는다면 V - A 만큼 도달하지 못했다는 것으로 +1을 해주고,


마지막 남은 거리는 A 이하이므로, 하루를 더 더해주면 된다.