【CSDN 竞赛第四期】 一二题解题思路

作为一个接触编程不久的小白第一次参加此类竞赛,还是很开心,很满意:

 下面是个人参赛的痕迹:

 

这里我使用的语言是python

 前面两道题比较简单,几行代码可以解决。后面两道题看了一下,很复杂,不能简单解决,时间也只剩10分钟(进入比较晚,有点事情耽搁了)了,有时间也不见得写得出来,就交白卷了。。。

和大家简单讲解一下我会的这次的第一二道题目吧。

第一道题目是分段计费的问题,具体题目如下:

夏天到了,各家各户的用电量都增加了许多,相应的电费也交的更多了。小玉家今天收到了一份电费通知单。小玉看到上面写:据闽价电[2006]27号规定,月用电量在150千瓦时及以下部分按每千瓦时0.4463元执行,月用电量在151~400千瓦时的部分按每千瓦时0.4663元执行,月用电量在401千瓦时及以上部分按每千瓦时0.5663元执行;小玉想自己验证一下,电费通知单上应交电费的数目到底是否正确呢。请编写一个程序,已知用电总计,根据电价规定,计算出应交的电费应该是多少。

 题目要求保留到小数点后1位。

主要使用三元表达式及其嵌套的用法,代码如下:

class Solution:
    def __init__(self)->None:
        pass
    def solution(self,amount):
        result=None

        # TODO: 请在此编写代码
        part1=150 if amount>=150 else amount    #低于150部分
        part2=250 if amount>=400 else(0 if amount<=150 else amount-150)    #150-400部分
        part3=amount-400 if amount>400 else 0    #超过400部分
        sum=0.4463*part1+0.4663*part2+0.5663*part3    #总费用
        result=round(sum,1)    #保留到小数点后1位
        return result

if __name__=="__main__":

    amount=int(input().strip())

    s=Solution()
    result=s.solution(amount)

    print(result)

第二道题目是字符串单词逆序处理的问题,具体题目如下:

对于一个字符串,请设计一个算法,只在字符串的单词间做逆序调整,也就是说,字符串由一些由空格分隔的部分组成, 你需要将这些部分逆序。
给定一个原字符串A,请返回逆序后的字符串。例,输入”I am a boy!“输出”boy! a am I“

代码如下: 

class Solution:
    def __init__(self)->None:
        pass
    def solution(self,str):
        result=None

        # TODO: 请在此编写代码
        list=str.split()        #按空格划分获得字符串单词为元素的列表
        list.reverse()        #将列表元素顺序翻转
        result=list
        return result

if __name__=="__main__":

    str=input().strip()

    s=Solution()
    result=s.solution(str)

    print(" ".join(result))    #按空格把列表各元素重新拼接成字符串并且输出

第一次参加这种竞赛,只做了这两道题,不会给大家解析另外两道。

作为一个和大家一样的小白,希望和大家一起努力。

加油,坚持!!!

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
2023全国数学建模竞赛C解题思路可以从以下几个方面入手。 首先,我们可以根据题目提供的引用来理解装配车辆的顺序和数量分配。根据引用的描述,每天白班和晚班按照先A1后A2的顺序装配当天两种品牌各一半数量的汽车。因此,我们可以根据装配的数量和顺序来制定合理的调度方案。 其次,可以考虑运筹学方法来进行调度优化。引用提到,运筹学方法可以用于调度问的求解,可以表示成求函数在满足约束条件下的极大极小值问。常用的目标函数有拖期惩罚极小化、作业时间极小化等。因此,我们可以根据题目的具体要求,选择适当的目标函数,并结合约束条件,使用运筹学方法来寻找最优的调度方案。 另外,启发式算法也是一种解决组合优化问的常见方法。引用中提到,启发式算法是通过一些直观或经验的构造算法,给出待解决问的一个可行解。启发式算法易于实现、计算复杂度低,并在实际中得到了广泛的应用。因此,我们可以考虑使用启发式算法来得到一个近似最优的调度方案。 最后,可以结合公司的装配流程来进行调度。引用提到,公司的装配流程包括总装作业和喷涂作业。我们可以根据装配流程的具体要求,结合前面提到的调度方法,制定出适合公司装配流程的调度方案。 综上所述,2023全国数学建模竞赛C解题思路可以包括根据装配顺序和数量分配制定调度方案、使用运筹学方法进行调度优化、考虑启发式算法以及结合公司的装配流程进行调度。具体的解题方法可以根据题目的具体要求和给定的数据进行进一步的分析和建模。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

_小豫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值