СРОЧНО!!!! ПИТОН и С++ Ровно К обменов
Даны два числа n и k. Вывести перестановку из n чисел (n чисел от 1 до n без повторений) такую, чтобы сортировка пузырьком по возрастанию на соответствующем массиве сделала ровно k обменов. Если возможных ответов несколько — выведите любой.
Входные данные
Даны натуральное число n (n≤ 100) и целое неотрицательное k. Гарантируется, что для всех наборов тестовых данных решение существует.
Выходные данные
Выведите искомую перестановку в одной строке. Числа разделяйте пробелами.
Примеры
Ввод
Вывод
5 3
1 5 2 3 4
1 0
1
Answers & Comments
Ответ:
n,k=map(int,input().split())
b=[0]*n
x=1
t=0
while k>=(n-t-1) and k>0:
k=k-(n-t-1)
b[t]=n-t
t+=1
for i in range(-(n-t), 0):
if i!=-(k+1):
b[i]=x
x+=1
else:
b[i]=n-t
print(*b)
Объяснение: