6.4
import itertools
def main():
# 1. 读取输入
# 第一行:n 和 m
n, m = map(int, input().split())
# 第二行:n 个字母
letters = input().split()
2. 输出排列(Permutation)
print("Permutation:")
# itertools.permutations 生成从 n 个字母中选 m 个的所有排列
for p in itertools.permutations(letters, m):
print(" ".join(p))
3. 输出组合(Combination)
print("Combination:")
# itertools.combinations 生成从 n 个字母中选 m 个的所有组合
# 题目要求组合按字母增序显示,combinations 会按原顺序生成,
# 但为了保证增序,先对 letters 排序再生成组合
sorted_letters = sorted(letters)
for c in itertools.combinations(sorted_letters, m):
print(" ".join(c))
if name == "main":
main()

浙公网安备 33010602011771号