码迷,mamicode.com
首页 > 其他好文 > 详细

2020年3月21日 BAPC 2019 比赛补题报告

时间:2020-03-22 19:47:45      阅读:80      评论:0      收藏:0      [点我收藏+]

标签:class   位置   shape   col   数组   NPU   port   span   inpu   

技术图片

技术图片

 

 思路:设二维dp数组,

    一维表示当前到数字的哪一位,

    二维为0表示在当前位置时所需的最低货币值,为1表示当前位置+1时所需的最低货币值

代码:

 1 import numpy as np
 2 dp = np.zeros(shape=(10002, 2), dtype=int)
 3 
 4 s = input().strip()
 5 dp[0][0], dp[0][1] = 0, 1
 6 
 7 for i in range(len(s)):
 8     dp[i+1][0] = min( dp[i][0] + int(s[i]), dp[i][1] + 10 - int(s[i]) )
 9     dp[i+1][1] = min( dp[i][0] + int(s[i]) + 1, dp[i][1] + 10 - int(s[i]) -1)
10 print( dp[len(s)][0] )

 

2020年3月21日 BAPC 2019 比赛补题报告

标签:class   位置   shape   col   数组   NPU   port   span   inpu   

原文地址:https://www.cnblogs.com/ZhengQC/p/12547545.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!