사용자 도구

사이트 도구


ps:problems:boj:2869

달팽이는 올라가고 싶다

ps
링크acmicpc.net/…
출처BOJ
문제 번호2869
문제명달팽이는 올라가고 싶다
레벨브론즈 1
분류

기초

시간복잡도O(1)
사용한 언어Python
제출기록29200KB / 72ms
최고기록52ms
해결날짜2021/10/03

풀이

  • 퍼즐 퀴즈로도 유명한 문제. 어렵지는 않지만 처음 접하는 사람은 답을 V/(A-B)로 계산하는 실수를 종종 저지른다.
  • 마지막 올라갈때는 내려갈 것을 고려하지 않아도 되므로, 제대로 구하려면 (A-B) 만큼씩 n-1번 올라가고 마지막 n번째에는 A만큼 올라간다고 계산하면 된다. ceil((V-A)/(A-B)) + 1 이 되고 ceil(x/y)는 (x+y-1)/y로 바꿔쓸수 있으므로 그렇게 적용하면 (V-B-1)/(A-B)+1 이 된다.
  • 시간복잡도는 O(1)

코드

"""Solution code for "BOJ 2869. 달팽이는 올라가고 싶다".

- Problem link: https://www.acmicpc.net/problem/2869
- Solution link: http://www.teferi.net/ps/problems/boj/2869
"""


def main():
    A, B, V = [int(x) for x in input().split()]
    print((V - B - 1) // (A - B) + 1)


if __name__ == '__main__':
    main()

토론

댓글을 입력하세요:
O K D G N
 
ps/problems/boj/2869.txt · 마지막으로 수정됨: 2022/01/27 01:55 저자 teferi