今天一定行


私信TA

用户名:uq_10585380137

访问量:3859

签 名:

Python苦手

等  级
排  名 775
经  验 3773
参赛次数 0
文章发表 72
年  龄 0
在职情况 学生
学  校
专  业 人工智能

  自我简介:

一位只会简单题,还妄图一行解的Noob

TA的其他文章

解题思路:贪心算法

注意事项:理解题意后注意限制要求,可优化

参考代码:

def cor(str_) :
   global cnt
   lst = list(str_)
   flag = 0  # 标志符
   for num in range(len(lst) - 1) :
       if lst[num] > lst[num + 1] :
           lst[num] = 0
           cnt += 1
           flag = 1
           break
   str_ = ''.join(map(str, lst)).replace('0', '')
   lst_.append(str_)
   if flag == 0 :  # 如果为0就是指这个结果里面每一个值都不比后一位小,就无法删减
       str_ = str_[:base]  # 所以此时只用把后面长于结果要求的位数删去即可
       lst_.append(str_)
   if cnt < k and len(str_) > base :  # 如果删减的值不达标且现在的长度大于要求的结果长度就继续进行删减
       cor(str_)


n = int(input())
for i in range(n) :
   m, k = input().split()
   k = int(k)
   base = len(m) - k  # 要求的结果长度
   cnt = 0
   lst_ = []
   cor(m)
   print(lst_[-1])

 

0.0分

1 人评分

新上线《蓝桥杯辅导》课程,近五年的蓝桥杯省赛与国赛真题都有,从读题开始理解题意、梳理思路、实现代码再提交评测全过程,可有效提升获奖比例甚至进国赛!课程介绍、试听请猛击这里

  评论区

写的挺好,就是没使用代码格式
2023-03-03 17:12:17
  • «
  • 1
  • »