2020网易:访友[python][动态规划][贪心]

访友

http://www.nowcoder.com/questionTerminal/b8e21f5816874425836b7d32011f46b0

贪心:未到达终点前每一次走的越远越好;由于步数从1~5,不担心直接越过终点, 所以直接对五求商向上取整就好。不过这种题目假设给个能否走到的变体条件可能就要靠动态规划才比较好解了。

from math import ceil
x = int(input())
print(ceil(x/5))

动态规划:TLE

x = int(input())
steps = [1, 2, 3, 4, 5]
dp = [float('inf')] * (x+1) # dp[i]还剩多少步需要走几次
dp[0] = 0

for i in range(x+1):
    for s in steps:
        dp[i] = min(dp[i-s]+1, dp[i]) if i >= s else dp[i]

print(dp[-1])

镜像题目:https://blog.nowcoder.net/n/5b407a78951f460d85f1c27378338860

全部评论

相关推荐

点赞 评论 收藏
分享
07-10 14:08
已编辑
江西农业大学 Java
拒绝无效加班的小学生...:期望3k吗?java这辈子有了
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务