• 第十四届蓝桥杯模拟赛(Python)


    写在前面

    1. 本篇题解涵盖范围为1 - 8 题,最后两题本人没能解出来
    2. 使用语言为Python
    3. 过样例 不确定能否AC
    4. 仅供参考 若有错误 欢迎指出
    5. 最后两题若有佬会 可以评论给出你的思路 感激不尽 🙏

     4e36f88729704afbb50fa2848b985168.png

     

    1. # 直接调用转二进制函数即可
    2. # 具体用法请查官方文档
    3. s = 2022
    4. ans = bin(s)
    5. print(len(ans[2:]))

     

     8511f4328807432f8b42c921b8234502.png

    调用datetime函数,枚举每一天并判断是否符合要求 

    1. import datetime
    2. start = datetime.date(2022,1,1)
    3. ans = 0
    4. diff = datetime.timedelta(1)
    5. end = datetime.date(2022,12,31)
    6. def check(date) :
    7. if datetime.date.weekday(date) == 5 or datetime.date.weekday(date) == 6 :
    8. return True
    9. date = str(date)
    10. if date[-2:] == '01' or date[-2:] == '11' or date[-2:] == '21' or date[-2:] == '31' :
    11. return True
    12. return False
    13. while start <= end :
    14. if check(start) : ans += 1
    15. start += diff
    16. print(ans)

     

     4d16851903e54476965b6431b540a334.png

    简单模拟,大于12时输出答案 

    1. idx = 1
    2. target = 12
    3. tot = 0
    4. ans = 0
    5. while tot < target :
    6. tot += 1 / idx
    7. ans += 1
    8. idx += 1
    9. print(ans)

     

    dba1e1f50d8f4cd1a57be907e50ac0fd.png 

     遍历每个点,判断是否为山谷即可

    1. s = "PHQGHUMEAYLNLFDXFIRCVSCXGGBWKFNQDUXWFNFOZVSRTKJPREPGGXRPNRVY\
    2. STMWCYSYYCQPEVIKEFFMZNIMKKASVWSRENZKYCXFXTLSGYPSFADPOOEFXZBC\
    3. OEJUVPVABOYGPOEYLFPBNPLJVRVIPYAMYEHWQNQRQPMXUJJLOOVAOWUXWHMS\
    4. NCBXCOKSFZKVATXDKNLYJYHFIXJSWNKKUFNUXXZRZBMNMGQOOKETLYHNKOAU\
    5. GZQRCDDIUTEIOJWAYYZPVSCMPSAJLFVGUBFAAOVLZYLNTRKDCPWSRTESJWHD\
    6. IZCOBZCNFWLQIJTVDWVXHRCBLDVGYLWGBUSBMBORXTLHCSMPXOHGMGNKEUFD\
    7. XOTOGBGXPEYANFETCUKEPZSHKLJUGGGEKJDQZJENPEVQGXIEPJSRDZJAZUJL\
    8. LCHHBFQMKIMWZOBIWYBXDUUNFSKSRSRTEKMQDCYZJEEUHMSRQCOZIJIPFION\
    9. EEDDPSZRNAVYMMTATBDZQSOEMUVNPPPSUACBAZUXMHECTHLEGRPUNKDMBPPW\
    10. EQTGJOPARMOWZDQYOXYTJBBHAWDYDCPRJBXPHOOHPKWQYUHRQZHNBNFUVQNQ\
    11. QLRZJPXIOGVLIEXDZUZOSRKRUSVOJBRZMWZPOWKJILEFRAAMDIGPNPUUHGXP\
    12. QNJWJMWAXXMNSNHHLQQRZUDLTFZOTCJTNZXUGLSDSMZCNOCKVFAJFRMXOTHO\
    13. WKBJZWUCWLJFRIMPMYHCHZRIWKBARXBGFCBCEYHJUGIXWTBVTREHBBCPXIFB\
    14. XVFBCGKCFQCKCOTZGKUBMJRMBSZTSSHFROEFWSJRXJHGUZYUPZWWEIQURPIX\
    15. IQFLDUUVEOOWQCUDHNEFNJHAIMUCZFSKUIDUBURISWTBRECUYKABFCVKDZEZ\
    16. TOIDUKUHJZEFCZZZBFKQDPQZIKFOBUCDHTHXDJGKJELRLPAXAMCEROSWITDP\
    17. TPCCLIFKELJYTIHRCQAYBNEFXNXVGZEDYYHNGYCDRUDMPHMECKOTRWOSPOFG\
    18. HFOZQVLQFXWWKMFXDYYGMDCASZSGOVSODKJGHCWMBMXRMHUYFYQGAJQKCKLZ\
    19. NAYXQKQOYZWMYUBZAZCPKHKTKYDZIVCUYPURFMBISGEKYRGZVXDHPOAMVAFY\
    20. RARXSVKHTQDIHERSIGBHZJZUJXMMYSPNARAEWKEGJCCVHHRJVBJTSQDJOOTG\
    21. PKNFPFYCGFIEOWQRWWWPZSQMETOGEPSPXNVJIUPALYYNMKMNUVKLHSECDWRA\
    22. CGFMZKGIPDFODKJMJQWIQPUOQHIMVFVUZWYVIJGFULLKJDUHSJAFBTLKMFQR\
    23. MYJFJNHHSSQCTYDTEAMDCJBPRHTNEGYIWXGCJWLGRSMEAEARWTVJSJBAOIOJ\
    24. LWHYPNVRUIHOSWKIFYGTYDHACWYHSGEWZMTGONZLTJHGAUHNIHREQGJFWKJS\
    25. MTPJHAEFQZAAULDRCHJCCDYRFVVRIVUYEEGFIVDRCYGURQDREDAKUBNFGUPR\
    26. OQYLOBCWQXKZMAUSJGMHCMHGDNMPHNQKAMHURKTRFFACLVGRZKKLDACLLTEO\
    27. JOMONXRQYJZGINRNNZWACXXAEDRWUDXZRFUSEWJTBOXVYNFHKSTCENAUMNDD\
    28. XFDMVZCAUTDCCKXAAYDZSXTTOBBGQNGVVPJGOJOGLMKXGBFCPYPCKQCHBDDZ\
    29. WRXBZMQRLXVOBTWHXGINFGFRCCLMZNMJUGWWBSQFCIHUBSJOLLMSQSGHMCPH\
    30. ELSOTFLBGSFNPCUZSRUPCHYNVZHCPQUGRIWNIQXDFJPWPXFBLKPNPEELFJMT"
    31. Map = [[0] * 60 for i in range(30)]
    32. for i in range(30) :
    33. for j in range(60) :
    34. Map[i][j] = s[i*30+j]
    35. def check(x,y) :
    36. for i,j in [(1,0),(0,1),(0,-1),(-1,0)] :
    37. px = x + i ; py = y + j
    38. if ord(Map[x][y]) >= ord(Map[px][py]) : return False
    39. return True
    40. # for i in range(3) :
    41. # for j in range(5) :
    42. # print(Map[i][j],end=' ')
    43. # print()
    44. ans = 0
    45. for i in range(30) :
    46. for j in range(60) :
    47. if i == 0 or j == 0 or i == 29 or j == 59 : continue
    48. if check(i,j) : ans += 1
    49. print(ans)

     

    7dd87b0df39f4abba375bcda31bc6674.png 

     二位前缀和,枚举起点和终点的横坐标和列坐标即可

    1. Map = [[0] * 101 for i in range(101)]
    2. Map[1][1] = 1
    3. for i in range(1,101) :
    4. for j in range(1,101) :
    5. if i == 1 and j == 1 : continue
    6. if j == 1 : Map[i][j] = Map[i-1][j] + 1
    7. else : Map[i][j] = Map[i][j-1] + 2
    8. for i in range(1,101) :
    9. for j in range(1,101) :
    10. Map[i][j] += Map[i-1][j] + Map[i][j-1] - Map[i-1][j-1]
    11. print(Map[3][3])
    12. ans = float('inf')
    13. for i in range(1,101) :
    14. for j in range(i,101) :
    15. for k in range(1,101) :
    16. for t in range(k,101) :
    17. if Map[j][t] - Map[j][k-1] - Map[i-1][t] + Map[i-1][k-1] == 2022 :
    18. ans = min(ans,(j-i+1)*(t-k+1))
    19. print(ans)

     

     b75d29531beb4d2c86781e66df38b506.png

    模拟 , 签到

    1. s = int(input())
    2. t = int(input())
    3. ans = 0
    4. if t > s : print(t - s)
    5. else : print(t + 7 - s)

     

     aa6721c715634eabb486b17907bc268b.png

    直接调用replace函数 

    1. s = input()
    2. s = s.replace('a', 'A')
    3. s = s.replace('e', 'E')
    4. s = s.replace('i', 'I')
    5. s = s.replace('o', 'O')
    6. s = s.replace('u', 'U')
    7. print(s)

     ac1227fc247f460f908204e0e473a9d0.png9fc8bccee18148efbcc309cc67035c0d.png

    按照输入的顺序,当前的时间-上一个时间✖️电流✖️电压,计算总和 

    1. n = int(input())
    2. ans = 0
    3. for i in range(n) :
    4. s,U,I = input().split()
    5. H,M,S = s.split(':')
    6. if i == 0 :
    7. oldU = int(U) ; oldI = int(I)
    8. oldH = int(H) ; oldM = int(M) ; oldS = int(S)
    9. else :
    10. ans += ((int(H) - oldH) * 3600 + (int(M) - oldM) * 60 + (int(S) - oldS)) * oldU * oldI
    11. oldU = int(U) ; oldI = int(I)
    12. oldH = int(H) ; oldM = int(M) ; oldS = int(S)
    13. print(ans)

     


     22160d4903a44514bde3264249dafddb.png

     

     

    c94bb86b2a5e41ad8589316236f5374c.png 

     964eba8eb0f14e258c91ff029d526cf3.png

    # 没有思路 


     

     

    a8c32f352d474a6c8e179b9828b5a990.png 

     

     8c86aa78c12b4a1cabf12de6ce541ab5.png

    # 没有思路 

     

     

     

     

     

  • 相关阅读:
    前端性能优化认知
    二维码智慧门牌管理系统升级解决方案:高效服务审核流程
    Scipy和Numpy的插值对比
    Java_笔记_继承_虚方法表_成员变量方法构造_thisSuper
    软件工程开发和文档流程(及概要设计+详细设计)
    第四章:指令系统
    通过nginx代理:在本地浏览器访问远程服务器某目录里面的指定文件内容(如html),及修改配置后重启nginx方法
    DeU-Net: 用于三维心脏mri视频分割的可变形(Deformable)U-Net
    力扣(LeetCode)1732. 找到最高海拔(C++)
    【图像检测】基于FT算法实现图像显著性检测附matlab代码
  • 原文地址:https://blog.csdn.net/m0_54689021/article/details/127815571