zgjja


私信TA

用户名:zgjja

访问量:10805

签 名:

X_X

等  级
排  名 147
经  验 7109
参赛次数 0
文章发表 71
年  龄 0
在职情况 学生
学  校
专  业 X_X

  自我简介:

解题思路:


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

看不懂代码?想转换其他语言的代码? 或者想问其他问题? 试试问问AI编程助手,随时响应你的问题:

编程语言转换

万能编程问答

代码解释器

  评论区