Этот вопрос закрыт для ответов, так как повторяет вопрос Как оптимизировать код на Python во времени?
@Maksym122

Как оптимизироват код во времени?

Вот условия задачи:
По размещению найдите его номер в лексикографическом порядке.
Входные данные:
В первой строке входного файла находятся числа и (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):
    count = 0
    for perm in permutations(range(1, N + 1), K):
        count += 1
        if perm == permutation:
            break
    return count

N, K = map(int, input().split())
permutation = tuple(map(int, input().split()))

result = find_permutation_number(N, K, permutation)
print(result)

Проходит 50% тестов в остальных не хватает времени
Буду очень благодарен
  • Вопрос задан
  • 268 просмотров
Ваш ответ на вопрос

Вопрос закрыт для ответов и комментариев

Потому что уже есть похожий вопрос.
Похожие вопросы