Предмет: Информатика, автор: darnekrasovaaa

СРОЧНО!!!! ПИТОН и С++ Ровно К обменов
Даны два числа n и k. Вывести перестановку из n чисел (n чисел от 1 до n без повторений) такую, чтобы сортировка пузырьком по возрастанию на соответствующем массиве сделала ровно k обменов. Если возможных ответов несколько — выведите любой.

Входные данные

Даны натуральное число n (n≤ 100) и целое неотрицательное k. Гарантируется, что для всех наборов тестовых данных решение существует.

Выходные данные

Выведите искомую перестановку в одной строке. Числа разделяйте пробелами.

Примеры
Ввод
Вывод
5 3
1 5 2 3 4
1 0
1

Ответы

Автор ответа: Zhen2018
8

Ответ:

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)

Объяснение:

Похожие вопросы
Предмет: Другие предметы, автор: 19861975