解题思路:
注意事项:
Python中的permutations结果和C++的next_permutation有区别,而本题是按照C++标准走的,所以需要对Python的permutations结果修改一下。
参考代码:
from itertools import permutations import math n, m = [int(input().strip()) for _ in range(2)] nums = list(map(int, input().split())) coe = math.ceil(math.log2(m)) + 2 if math.log2(m).is_integer() \ else math.ceil(math.log2(m)) + 1 a = permutations(sorted(nums[n - coe::])) i = 0 while 1: res = list(next(a)) if res == nums[n - coe::]: break i += 1 for j in range(m): res = next(a) res = nums[:n - coe] + list(res) print(*res)
0.0分
0 人评分
【蟠桃记】 (C语言代码)浏览:785 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:528 |
点我有惊喜!你懂得!浏览:1433 |
C语言训练-求s=a+aa+aaa+aaaa+aa...a的值 (C语言代码) 如果a<0,那就不是这个代码了,哈哈哈哈浏览:1227 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:677 |
C二级辅导-统计字符 (C语言代码)浏览:532 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:552 |
Hello, world! (C语言代码)浏览:1195 |
回文串 (C语言代码)浏览:2845 |
C语言程序设计教程(第三版)课后习题6.7 (C语言代码)浏览:517 |