解题思路:
注意事项:
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语言代码)浏览:1605 |
汽水瓶 (C语言代码)浏览:598 |
时间转换 (Java代码)浏览:573 |
C语言训练-自由落体问题 (C语言代码)浏览:1736 |
C语言程序设计教程(第三版)课后习题11.1 (C语言代码)浏览:685 |
蛇行矩阵 (C语言代码)浏览:745 |
C语言程序设计教程(第三版)课后习题8.1 (C语言代码)浏览:518 |
C语言程序设计教程(第三版)课后习题8.5 (C语言代码)浏览:567 |
字符逆序 (C语言代码)浏览:614 |
1024题解浏览:806 |