解题思路:
注意事项:
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 人评分