반응형
문제
https://www.acmicpc.net/problem/2869
한번쯤 봤던 문제일 것이다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | import sys A,B,V=map(int,sys.stdin.readline().split()) result=0 if A>=V: #하루만에 도착할경우 result=1 else: V = V - A #마지막 날을 먼저 빼주고 시작한다. if V%(A-B)==0: #정확히 도착했을때 result += (V // (A - B) + 1) else: #조금남고 다음날 도착할수 잇을때 result+=(V//(A-B)+2) print(result) | cs |
for문을 돌려서 풀수도 있지만 시간제한이 있어서 이런방식으로 풀었다.
이 문제의 핵심은 마지막날이다. 평소라면 (올라가는거리)-(미끄러지는거리)로 계산이
되지만 마지막날은 미끄러지지 않는다.
나는 먼저 꼭대기에서부터 올라가는 거리를 빼주고 계산을 시작했다.
이제 남는 거리는 (올라가는거리)-(미끄러지는거리)로 나눠서 계산해도 되며 딱
떨어진다면 몫에서 하루만 더가면 될것이고
그게 아니라면 2일을 더가면 될것이다.
반응형
'알고리즘(python) > 수학' 카테고리의 다른 글
[Python]수학 백준 2775 (0) | 2019.12.20 |
---|---|
[Python]수학 백준 10250 (0) | 2019.12.19 |
[Python]수학 백준 1193 (0) | 2019.12.19 |
[Python]수학 백준 2292 (0) | 2019.12.19 |
[Python]수학 백준 2839 (0) | 2019.12.19 |
최근댓글