桑杰对酒精上瘾。每天晚上他喝4瓶伏特加。他要回家了。一开始,他向前走了一步(5米),但由于他喝醉了,每向前走一步,他的身体就会失去平衡,他向后走了一步(3米)。你知道吗
每一步需要1分钟才能完成。从酒吧到家的距离是n米。计算他到家所花的时间。你知道吗
包含一个整数n的单行
0 <= n < 10^18
一个整数,描述他回家所花的时间。你知道吗
from math import *
n = int(input())
x = 0
m = 0
n = n % 1000000007
n = n % 1000000007
while x < n:
x += 5
m += 1
if x >= n:
break
x -= 3
m += 1
print(m)
但是在最后一个测试用例中,时间限制被超过了,即对于n=10^18这样的数字
Sample Input 0
11
Sample Output 0
7
所用时间仅为n/2*2 他每“循环”前进2米,向前5米,向后3米 所以我们看到有多少“循环”进入n(n/2m),这将导致 在到达他家的“周期”里 然后我们简单地乘以每个周期所用的时间(2分钟) 得到所用的总时间(t=n/2*2)。你知道吗
试着减少问题。让
time_taken(dist)
函数告诉我们到家需要多长时间。然后,保持以下状态:相关问题 更多 >
编程相关推荐