十一界蓝桥杯青少年Python中/高级组省赛试题详解——编程题4密码表/5节气表/6最近距离

梁老师
梁老师 北京小升初老师~

0 人点赞了该文章 · 50 浏览





图片

图片

  建立2个密码表,把输入的字符串转为单个字母的列表,如果不是空格就第一次加密变为2个字符,然后分别对2个字符进行第二次加密;如果是空格只进行第二次加密。程序代码如下:

图片

图片

  运行结果:

图片

  注意:一行最后一个字符是转义符,表示一行没结束,不可以在后面加注释。

图片

图片

图片

图片

  编写一个顺序的节气表,元素是由月日两个整数和节气字符串组成,2021年月份加12。把输入转为年月日三个整数,2021年月份加12。用月日两个整数从节气表倒序查找节气。

  程序代码:

图片

图片

  运行结果:

图片

图片

图片

图片

  这个看起来复杂,其实简单,只不过是不同组合的统计值与一个值的差距问题。问题主要是如何获得这些不同组合的统计值。n物品,可以有1到n种数量的组合,每一种组合的统计值都是个列表,求出其最小差距,再比较所有的组合的最小差距,得到全局的最小差距。当一种数量的所有值到不小于容量时,就无需统计更多的数量组合了。

  程序代码:

图片

图片

图片

  运行结果:

图片

  从另一个角度看,这也是个路径问题。从1到n个物品都作为根节点(开始节点,距离负容量)的子节点,然后子节点的兄弟节点是该节点的子节点,如此类推,达到或超过容量或物品用完为止。

  程序代码:

图片

图片

图片

  用树的方法,计算量要少很多。

图片


添加 家长论坛微信 



发布于 2024-04-25 09:08

免责声明:

本文由 梁老师 原创发布于 家长帮 ,著作权归作者所有。

登录一下,更多精彩内容等你发现,贡献精彩回答,参与评论互动

登录! 还没有账号?去注册

暂无评论

广告
All Rights Reserved Powered BY WeCenter V4.1.0 © 2025 京ICP备20005761号-2