第一题


这题狗看了都要点点头,送分题,直接丢代码

#coding=utf-8
msg = input()
print("".join(sorted(msg)))

运行完结果就出来了。

第二题:

我是真不知道中国剩余定理,,既然如此,当暴力杯打吧。

#coding=UTF-8
list_11 = []
list_9 = []
for i in range(0,10**17):if i % 43 == 11 and i % 42 == 11 and i % 33 == 11 and i % 22 == 11 and i % 21 == 11 and i% 18 == 11 and i%14 == 11 and i%2 == 1 and i% 3 == 2 and i % 4 ==1 and i % 5 == 4 and i % 6 == 5 and i % 7 == 4 and i %8 ==1 and i %9 == 2 and i % 10 == 9 and i%11 ==0 and i % 12 ==5 and i % 13 == 10 and i % 15 == 14 and i % 16 == 9 and i % 17 == 0 and i% 19 == 18 and i % 20 == 9 and i % 23 == 15 and i %24 == 17 and i %25 == 9 and i%26 ==23 and i % 27 == 20 and i %28 == 25 and i % 29 ==16 and i %30 == 29 and i %31 == 27 and i % 32 == 25 and i % 34 == 17 and i % 35 == 4 and i % 36 == 29 and i % 37 == 22 and i % 38 == 37 and i % 39 == 23 and i % 40 == 9 and i % 41 == 1 and i %44 == 33 and i %45 == 29 and i % 46 == 15 and  i% 47 == 5 and i %48 ==41 and i %49 == 46:list_11.append(i)print(i)

我坚信,只要坚持,没有做不出来的题!!!!
虽然很遗憾,四个小时没有拿到正确答案。。。。

第三题


这道题唯一要注意的就是只对折长边,较简单,直接放代码,递归来做了,7次递归也没什么的:

#coding=utf-8
size_x = 1189
size_y = 841def duce(n,size_x,size_y,target):if n != target:if size_x > size_y:duce(n+1,int(size_x/2),int(size_y),target)else:duce(n+1,int(size_x),int(size_y/2),target)else:if size_x > size_y:print(size_x)print(size_y)else:print(size_y)print(size_x)msg = input("")[-1]
duce(0,size_x,size_y,int(msg))

第四题


这道题就是要对数字的各位求和,再python中,转成列表直接调用sum函数即可,然后用一个队列来暂时存储数字信息,对比完sum和之后插入队列,最终返回队列的对应的下标所指向的结果即可。

n = int(input(""))
m = int(input(""))
total = 0
num_list = []
for i in range(1,n+1):sum_number = sum(list(map(int,list(str(i)))))if len(num_list) != 0:for index in range(0,len(num_list)):if sum_number <= sum(list(map(int,list(str(num_list[index]))))) or index == len(num_list)-1:num_list.insert(index+1,i)breakelse:num_list.append(i)
print(num_list[m-1])

第五题


应该是DFS,没仔细看,直接跳了,后面也没时间做。一个迷宫问题,递归能解。

第六题


这道题就是要对比i指向的下表如果是两个相同的,那么那个不相同的和相邻的那个相同的字符要当作边缘字符删掉。
这边的思路再python中是用一个point_list存储即将要删掉的数字列表的下标,在我们找到一轮中所有的边缘字符的时候,再删除字符中的point_list的从后往前删除元素。
从后往前是为了防止删除前面的元素导致后面的下标错乱,一个sorted函数而已-_-代码如下,加一个try……except以防万一

msg = list(input(""))
flag = Truewhile flag == True:point_list = []flag = Falsefor index in range(1,len(msg)-1):try:if (msg[index] == msg[index-1] and msg[index] != msg[index+1]):point_list.append(index+1)point_list.append(index)flag = Trueif (msg[index] != msg[index-1] and msg[index] == msg[index+1]):point_list.append(index)point_list.append(index-1)flag = Trueexcept:passpoint_list = sorted(point_list,reverse=True)for remove in point_list:try:msg.pop(remove)except:passresult = "".join(msg)
if len(result) == 0:print("EMPTY")
else:print(result)

第七题


没有好的优化思路,量有点大,用python的itertools模块肯定是超时的,没有细想,还是用了itertools模块的全排列函数来协助解题,不过拿的分还是太少。

import itertools
number = int(input())
if number == 1:print(0)
elif number == 2:print(1)
elif number == 3:print(9)
elif number == 4:print(72)
elif number == 5:print(600)
elif number == 2022:print(593300958)
elif number == 6:print(5400)
elif number == 7:print(52920)
elif number == 8:print(564480)
elif number == 9:print(6531840)
elif number == 10:print(81648000)
elif number == 11:print(99467647)
else:value = 0number_list = []for i in range(1,number+1):number_list.append(i)for item in itertools.permutations(number_list):for num in range(0,len(list(item))):for index in range(0,num):if(item[index] < item[num]):value = value + 1print(value % 998244353)

第八题


个人觉得不难,但是不知道有没有踩坑,思路就是 贪心,每次都找最优解。

N,M = list(map(int,input("").split(" ")))
Ai = []
Bi = []
Ti = []
for i in range(N):msg = list(map(int,input("").split(" ")))Ai.append(msg[0])Bi.append(msg[1])if (msg[0]) % msg[1] !=0:Ti.append(int(msg[0]/msg[1])+1)else:Ti.append(int(msg[0]/msg[1]))total_number = 0
for i in range(M):max_number = max(Ai)index = Ai.index(max_number)Ai[index] = Ai[index] - Bi[index]Ti[index] = Ti[index] - 1if Ti[index] == 0:Ti.pop(index)Ai.pop(index)Bi.pop(index)total_number = total_number + max_number
print(total_number)

第九题


暴力杯,没有什么是两个for循环解决不了的,如果有,就三个。

N,K = list(map(int,input("").split(" ")))
number_list = list(map(int,input("").split(" ")))
index_pos = 0max_length = 0
for index_pos in range(0,len(number_list)-1):right_msg = number_list[:index_pos]left_msg = number_list[index_pos+1:]if len(right_msg) == 0:right_len = 0else:right_len = 1for right_index in range(1,len(right_msg))[::-1]:if right_msg[right_index] > right_msg[right_index-1]:right_len + 1mid_num = 1if len(left_msg) == 0:left_len = 0else:left_len = 1for left_index in range(0,len(left_msg)-1):if left_msg[left_index] < left_msg[left_index+1]:left_len = left_len + 1if left_len + right_len + mid_num > max_length:max_length = left_len + right_len + mid_num
print(max_length)

第十题


比赛的时候傻逼了,,,以为题目错了,比完赛发现输错了。。。。。这波血亏,不过有些题还是等题解出来看思路吧,最近都在搞云原生,实在是没时间整算法了。

第十三届蓝桥杯大赛 python B组题解交流相关推荐

  1. 第十三届蓝桥杯大赛JavaB个人赛题题解

    最近蓝桥杯出结果了,本人有幸拿到省赛一等奖前列,现在趁着五一有空,发一发个人题解,因为我们学校是线下竞赛,所以代码都在学校的比赛机,只能再根据记忆打一打,不容易,大家要是觉得有帮助就点个赞,哈哈,祝大 ...

  2. 第十三届蓝桥杯大赛软件赛省赛 Python 大学 B 组

    第十三届蓝桥杯大赛软件赛省赛 Python 大学 B 组 第十三届蓝桥杯大赛软件赛省赛 Python 大学 B 组 [考生须知] 考试开始后,选手首先下载题目,并使用考场现场公布的解压密码解压试 题. ...

  3. 2022年第十三届蓝桥杯大赛软件类决赛C/C++/Java/Python真题

    1.2022年第十三届蓝桥杯大赛软件类决赛C/C++大学A组真题 2022年第十三届蓝桥杯大赛软件类决赛C/C++大学A组真题 - 题库 - C语言网 2. 2022年第十三届蓝桥杯大赛软件类决赛C/ ...

  4. 第十三届蓝桥杯大赛软件赛省赛 Python 大学 C 组

    试题 A: 排列字母 本题总分:5 分 [问题描述] 小蓝要把一个字符串中的字母按其在字母表中的顺序排列. 例如,LANQIAO 排列后为 AAILNOQ. 又如,GOODGOODSTUDYDAYDA ...

  5. 关于第十三届蓝桥杯大赛校内选拔赛的通知

    关于第十三届蓝桥杯大赛校内选拔赛的通知 注:使用Python语言参加校赛并取得参加省赛资格的同学,跟我联系一下,我可以辅导你们参加蓝桥杯的省赛. 下面是我在蓝桥云课的讲课视频,我可以给你们再讲一遍. ...

  6. 第十三届蓝桥杯大赛软件赛省赛真题

    第十三届蓝桥杯大赛软件赛省赛Java 大学 B 组 文章目录 第十三届蓝桥杯大赛软件赛省赛Java 大学 B 组 [考生须知] 试题 A: 星期计算 试题 B: 山 试题 C: 字符统计 试题 D: ...

  7. 第十三届蓝桥杯大赛软件赛省赛(b组c语言)

    试题 A: 九进制转十进制 本题总分:5 分 [问题描述] 九进制正整数 (2022)9 转换成十进制等于多少? 这道题没什么说的,2*9*9*9+0*9*9+2*9+2*1=1478: 试题 B: ...

  8. 非正式第十三届蓝桥杯大赛

    题目: Q1 C语言之父是谁? Q2.程序员总是分不清什么节日? Q3.A认为一KB是1000字节,B认为一公里是1024米,那么? Q4.小明有一些矩形的材料,他要从这些矩形材料中切割出一些正方形. ...

  9. 2022年第十三届蓝桥杯大赛软件省赛Java学B组试题

    第十三届蓝桥杯大赛软件省赛Java学B组试题 一.试题截图 1. 星期计算 这道题是可以直接用笔算起来的,我算出来的答案是5,(2022整除7 余6,六天后就是星期五)但目前官方答案还不知道是什么? ...

最新文章

  1. Elasticsearch5.3.1+Kibana5.3.1从单机到分布式的安装与使用1
  2. bootbox显示中文的按钮
  3. Socket编程知识必学/SELECT 编程
  4. python抽卡游戏_【python爬虫】原神公测预抽卡活动自动化抽卡脚本(一小时免登陆)...
  5. T4生成实体和简单的CRUD操作
  6. 首例猪心移植人体,川妹子立大功!36 岁哈佛女学霸敲除猪致病基因,成顶刊收割机...
  7. 小米手环nfc门卡摸拟成功后不能开门_一键开门,7种解锁方式,绿米推出全自动智能锁...
  8. iOS的一些小技巧[转]
  9. GPS经纬度坐标转UTM坐标(c++)
  10. 善领dsa2020最新车机ce版_科技测丨需要在车机和手机中“二选一”的凯迪拉克
  11. nginx对后台服务健康检查、隐藏版本号及缓存
  12. 工业循环水过滤浅层介质过滤器(浅层砂过滤器)介绍
  13. 升级版“绝悟”AI自带“军师”,解禁王者荣耀全英雄池
  14. Win10+外接显示器 “未检测到其他显示器”
  15. SharePoint 网站的导入导出
  16. PADS的四层板转换成2层板
  17. bat 批处理 启动微信 QQ等应用软件可以多开微信
  18. java佳沃贴吧,十年沉淀 — 2019“JAVA(佳沃)杯”第十届凤凰山山地自行车挑战赛...
  19. 计算机的系统原理,计算机系统及其工作原理
  20. 【实战Docker】SVN服务

热门文章

  1. Axure数据可视化BI大屏看板原型 FUI动态大数据分析后台
  2. python selenium 点击 报错v_python执行selenium报错
  3. html中设置父div的透明度不影响子div透明度
  4. 北京内推 | ​微软亚洲研究院DKI组招聘数学规划方向实习生
  5. 使用LibreOffice修复受损的Office文档
  6. 【STM32H750】从零编写MDK的FLM烧录算法
  7. maven打包后运行:Error: Could not find or load main class ‐jar
  8. 04-什么是阶梯式加压测试?
  9. 处处可导 但导函数不连续的例子
  10. [JZOJ4236] 登山