这个题目我是用Python解出来的,如果大家想用其他语言解决也可以看一看我得分析思路,和解决思路,代码语言不一样但解决的方法是相通的。
首先让我们先来看看题目
首先要解决的一个问题是如何让每个比分对应相应的电量,如图0分对应每秒消耗6度电,1分对应每秒消耗2度电,等等
这里我解决使用的是Python中的字典类型(dict)形成键值对形式,这样便可以通过得分(键)来得到消耗的电量(值),设置如下
但问题又来啦,题目里说每个人有三个块得分板,那也就是意味着每个人的分数可能会达到三位数,不管现实中有没可能但题目中提到了那我们一定要考虑到,那我现在的键值对对于两位数和三位数的得分完全匹配不了,那我继续往里面加键值对吗?理论上可以但得加多少个键值对呀,假设一个得分为一个三位数,那每位上有10个数字可能(0-9)10的3次方1000个键值对,不可行,这等你放进去,截止时间也到了,那我们怎么办呢,我们可以使用字符串分割的方式来进行,比如你目前得分为23,现在键值对中无对应的键便无法匹配但你可以把23分成2和3呀,‘2’,‘3’在目前字典中存在的,23的值便为dic[‘2’]+dic[‘3’]=5+5=10这样便可以解决了,至于为什么字典中最后一个键值对为’’:0,是因为每次我每次都把目前分数当做三位数来处理每次都进行三次分割,如果目前分数为一位数那分割出来的其中会有两个为空,但进行字典查询时dic[x]x不能为空,所以我在字典中加入’’:0,这样便不会报错,并且对结果无影响
就先写到这吧,有时间的话就再写下去,这个分析确实挺多的,如果这个能帮助到大家的话也请大家点个赞支持一下,有写的不好地方也请多多包涵
12-05
302
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交