Loading [MathJax]/jax/output/CommonHTML/jax.js
[백준] 2869번 달팽이는 올라가고 싶다 C/C++ 풀이
Programming/백준 문제풀이

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

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

풀이

먼저 달팽이가 올라가는 규칙을 찾아보도록 하자.

먼저 달팽이가 하루에 올라갈 수 있는 거리는 AB 이다.

하지만, AB 라고 생각해 N값을 계산하는건 큰 오류이다.

달팽이는 나무 막대를 모두 올라가면, 밤에는 미끄러지지 않는다.

 

즉, 달팽이가 미끄러지는 최대 지점을 찾아야한다.

최대 지점은 VA 라고 계산할 수 있다.

 

달팽이가 나무 막대를 전부 올라가는데 걸리는 일수가 S이고,

최대 지점을 L이라고 가정하면 식은 다음과 같다.

N=LAB+1

하지만 이 수식에는 함정이 있다. 다음 예시를 보도록 하자.

N=342+1

이 수식대로라면 답은, N=2.5이다.

하지만 N의 type은 int형이므로 저 수식에서의 나머지가 존재할 경우는 N+1이 답이다.

 

C/C++ 풀이