작심 24/7

[백준] 2869번 달팽이는 올라가고 싶다 본문

백준

[백준] 2869번 달팽이는 올라가고 싶다

모닝수박 2020. 5. 19. 23:33

- 2018년도 게시글

 

 

2869번: 달팽이는 올라가고 싶다

문제 땅 위에 달팽이가 있다. 이 달팽이는 높이가 V미터인 나무 막대를 올라갈 것이다. 달팽이는 낮에 A미터 올라갈 수 있다. 하지만, 밤에 잠을 자는 동안 B미터 미끄러진다. 또, 정상에 올라간 ��

www.acmicpc.net

단순하게 반복문으로 풀면 시간 초과된다
예제를 몇 개 더 생각해서 등차수열 공식을 이용하여 풀었다.
1+(V-A)/(A-B) => 날짜 수
대신 예제가
7 1 8 이런 경우
첫째 날 
낮 7
밤 6
둘째 날
낮 13
->답 2 가 나와야 되는데 저 공식대로 하면 1이 나온다.

그래서 (V-A)/(A-B)의 값이 정수가 아닐 경우 day에 1을 더해주는 조건을 추가하면 풀린다.

#include <iostream>
using namespace std;
int main() {
    int a, b, v;
    cin >> a >> b >> v;
    int day = 1 + (v - a) / (a - b);
    double c = (double)(v - a) / (double)(a - b);
    if (c != (int)c)day += 1;
    cout << day;
    return 0;
}

'백준' 카테고리의 다른 글

[백준] 11648번 지속  (0) 2020.05.20
[백준] 10808번 알파벳 개수  (0) 2020.05.20
[백준] 11719번 그대로 출력하기 2  (0) 2020.05.20
[백준] 10951번 A+B - 4  (0) 2020.05.20
[백준] 1008번 A/B  (0) 2020.05.20
Comments