2869번: 달팽이는 올라가고 싶다 (acmicpc.net)
문제 분석
분류
수학
문제설명
땅 위에 달팽이가 있다. 이 달팽이는 높이가 V미터인 나무 막대를 올라갈 것이다.
달팽이는 낮에 A미터 올라갈 수 있다. 하지만, 밤에 잠을 자는 동안 B미터 미끄러진다. 또, 정상에 올라간 후에는 미끄러지지 않는다.
달팽이가 나무 막대를 모두 올라가려면, 며칠이 걸리는지 구하는 프로그램을 작성하시오.
입력
첫째 줄에 세 정수 A, B, V가 공백으로 구분되어서 주어진다. (1 ≤ B < A ≤ V ≤ 1,000,000,000)
출력
첫째 줄에 달팽이가 나무 막대를 모두 올라가는데 며칠이 걸리는지 출력한다.
소스코드
문제풀이
위 혹은 아래로 움직이는 횟수를 n이라 하고 올라가는 길이를 a, 내려가는 길이를 b, 총 길이를 c라고 한다면 시작은 항상 올라가고 마지막도 항상 올라가고 끝나므로 올라가는 횟수보다 내려가는 횟수가 1만큼 적을 것이다. 그러므로 n,a,b,c의 관계식은 아래와 같을 것이고
c = a x n - b(n - 1)
n에 대하여 정리하면 아래와 같다.
n = c - b/ a - b
정수로 나오지 않는다면 한번 더 올라가야하므로 n을 올림한다.
'Koala - 7기 > 기초 알고리즘 스터디' 카테고리의 다른 글
[백준/Python] 15726번 이칙연산 (0) | 2022.07.10 |
---|---|
[백준/python] 12756번 고급 여관 (0) | 2022.07.10 |
[백준/python] 4494번 가위 바위 보? (0) | 2022.07.10 |
[백준/Python]8393번 합 (0) | 2022.07.10 |
[백준/python] 2839번 설탕 배달 (0) | 2022.07.10 |