관리 메뉴

SW

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

대학교/Algorithm

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

SWKo 2020. 3. 9. 17:21

0. 제목

  • 백준 2869 달팽이는 올라가고 싶다
  • BOJ 2869 달팽이는 올라가고 싶다
  • C++ 2869 달팽이는 올라가고 싶다

1. 문제

https://www.acmicpc.net/problem/2869


2. 풀이

  • 제한시간이 짧기 때문에 for문으로 풀면 시간초과가 나온다. 다른 방식 풀이는 다음과 같다.
  • 하루에 A-B 만큼 올라갈 수 있다. 도달하는 날에는 미끄러질 필요가 없는 것을 고려하여 식을 세운다.
  • V-A 만큼 가면 도착이다. 따라서 V-A까지 A-B 씩 가는 것이다.
  • V-A가 A-B로 나누어 떨어지지 않으면 높이에서 하루 가는 거리를 나눈 값에서 하루를 더해주고 나누어 떨어지면 그대로 높이에서 하루 가는 거리를 나눈 값을 출력해준다.

3. 코드

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
using namespace std;
 
int main(int argc, const char * argv[]) {
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);cout.tie(NULL);
    int A, B, V;
    cin >> A >> B >> V;
    
    int height, day = 1;
    height = V - B;
    day = height / (A - B);
    if(height % (A - B) != 0)
        day++;
    
    cout << day << '\n';
    return 0;
}
 
 

'대학교 > Algorithm' 카테고리의 다른 글

[백준 1167] 트리의 지름  (0) 2020.03.11
[백준 11725] 트리의 부모 찾기  (0) 2020.03.11
[백준 11651] 좌표 정렬하기 2  (0) 2020.03.09
[백준 1003] 피보나치 함수  (0) 2020.03.08
[백준 14501] 퇴사  (0) 2020.03.07
Comments