原题链接:蓝桥杯算法训练VIP-JAM计数法
解题思路:
注意事项:
参考代码:
def f(s,t,w): A = '0abcdefghijklmnopqrstuvwxyz' A = A[s:t+1] num = input().strip() cnt = 0 while cnt != 5: #判断是否输出了5个 for i in range(w-1,-1,-1): #从最后一位开始寻找其后面是否有比其大的数 flag = 0 x = A.index(num[i]) if t-s-x >= w-i: #如果有,且比其大的数的个数>=需要的个数 num = num[:i]+A[x+1:x+w-i+1] #更新num print(num) cnt = cnt + 1 break if num == A[t-s-w+1:t-s+1]: #判断num之后是否还有数,A[t-s-w+1:t-s+1]为所允许的最大值 break if __name__ == '__main__': s,t,w = map(int,input().strip().split()) f(s,t,w)
0.0分
1 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复