[boj] (b1) 2869 달팽이는 올라가고 싶다

강신현·2022년 4월 1일
0

✅ 구현

문제

링크

풀이

시간 제한이 0.15초로 굉장히 작고, 변수들의 범위는 (1 ≤ B < A ≤ V ≤ 1,000,000,000)로 굉장히 크므로 단순 반복문으로는 풀 수 없다.

따라서, 수학적으로 구현하는 문제!
한번 정상에 올라간 후에는 미끄러지지 않는다고 했으므로 목표 높이를 V가 아닌 V-A로 잡는다.
만약 V-A까지 도달하지 못했다면 다음날 낮에 마저 올라가면 됨 (조건문으로 구현)

코드

#include <iostream>
#include <algorithm>
#include <string>

using namespace std;

int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    cout.tie(NULL);

    int A, B, V, day = 1;
    cin >> A >> B >> V;

    day += (V-A)/(A-B);

    if((V-A)%(A-B) != 0) day++;

    cout << day << "\n";

    return 0;
}
profile
땅콩의 모험 (server)

0개의 댓글