Напишите программу, которая строит все размещения из N заданных элементов по K , то есть все множества, состоящие из K элементов, где элементы не могут повторяться.
Входные данные
Первая входная строка содержит исходное множество из N элементов, каждый из которых обозначен латинской буквой. Во второй строке записывается число K ( K ≥ 1 ).
Выходные данные
Программа должна вывести все размещения из N заданных элементов по K . Размещения должны быть выведены по одному в строчке в алфавитном порядке. После всех размещений в отдельной строке выводится их количество.
def main():
data = sys.stdin.read().split()
elems, k = sorted(data[0]), int(data[1])
= [''.join(x) for x in itertools.permutations(elems, k)]
perms.sort()
print('\n'.join(perms))
print(len(perms))
# Получаем все перестановки длины k.
perms = [''.join(p) for p in permutations(elements, k)]
# Отсортируем полученные размещения по алфавиту.
perms.sort()
# Выводим каждое размещение на отдельной строке.
for perm in perms:
print(perm)
# Выводим общее количество размещений.
print(len(perms))