728x90
반응형
문제 출처:https://www.acmicpc.net/problem/2869
풀이:
import math
a,b,v = map(int,(input().split()))
print(math.ceil((v-a)/(a-b))+1) # math.ceil 올림함수
a = 낮에 올라갈 수 있는 m
b = 밤에 미끄러지는 m
a-b = 하루에 올라갈 수 있는 m
result(마지막 날 제외하고 올라간 횟수)
v = 높이
식으로 표현하면
v =< (a-b)x(result) + a(마지막날 올라가는 m)
(v-a) =< (a-b)(result)
(v-a)/(a-b) =< result
마지막날 까지 포함해줘야하니까 (v-a)/(a-b) +1
소수점 나오면 소수점 만큼 실행하는게 아니라 올림해줘서 실행해줘야한다.
풀이2
A, B, V = map(int, input().split())
high = V - A #높이
if high % (A-B) == 0: #0으로 떨어지면 하루 더 안보내되됨
first = int(high/(A-B))
else:
first = int(high/(A-B) + 1) # 0으로 안떨어지면
print(first + 1) # 하루 더해줘야함
출처:https://god-gil.tistory.com/39
math 함수
출처:https://andamiro25.tistory.com/12
반응형
댓글