2869 - 달팽이는 올라가고 싶다

2869 문제 링크

접근법

입력받는 값은 A,B,V로 각각 A미터 올라가고 B미터 미끄러지고 V미터인 나무 막대를 올라간다. 낮과 밤이 지나는 동안 달팽이가 최종적으로 올라간 거리는 (A-B) 이고 올라가야하는 거리 V에서 낮동안 올라갈 수 있는 거리를 뺀 값을 (A-B) 로 나누면 올라가는데 필요한 days가 나오게 되는데 이때 days가 1보다 크게되면 이틀이 더 필요하고 아니라면 하루가 더 필요하다.

#include <iostream>

using namespace std;

int main()
{
    double a,b,v,days;
    cin >> a;
    cin >> b;
    cin >> v;

    days = (v-a)/(a-b);

    if( days- (int)days > 0)
        cout << (int)days+2;
    else
        cout << (int)days+1;

    return 0;
}

결론

천천히 수식을 구하려고하면 금방 유도해 낼 수 있을거라고 생각한다.

업데이트: