Вот условия задачи:
За розміщенням знайдіть його номер у лексикографічному порядку.
Вхідні дані:
У першому рядку вхідного файлу знаходяться числа і (1 ≤ ≤
≤ 20). У другому рядку записано попарно різних чисел з діапазону від
1 до - розміщення.
Вихідні дані:
У вихідний файл виведіть єдине число - номер заданого розміщення.
Приклад вхідних даних:
3 2
3 1
Приклад вхідних даних:
5
Пояснення. Розміщенням з елементів по – це впорядкована
вибірка елементів без повторень з множини {1,2,3, … , − 1, }. У
прикладу, наведеного вище, розглядаються вибірки довжиною 2 з 3-х
елементів:
(1, 2)
(1, 3)
(2, 1)
(2, 3)
(3, 1)
(3, 2)
Розміщення (3, 1) у списку всіх розміщень записано під номером 5
(нумерація розміщень починається із 1)
Непонятные слова можете перевести
Вот мой код:
from itertools import permutations
def find_permutation_number(N, K, permutation):
all_permutations = permutations(range(1, N + 1), K)
all_permutations = list(all_permutations)
permutation_index = all_permutations.index(permutation) + 1
return permutation_index
N, K = map(int, input().split())
permutation = tuple(map(int, input().split()))
result = find_permutation_number(N, K, permutation)
print(result)