Вопрос задан 08.07.2023 в 10:27. Предмет Информатика. Спрашивает Петрухина Карина.

ДАЮ 100 БАЛЛОВ!!! РЕШАТЬ ЧЕРЕЗ ПИТОН И КИДАТЬ ПОЛНЫЙ КОД ИНАЧЕ ЖАЛОБУ! Ровно К обменов Даны два

числа n и k. Вывести перестановку из n чисел (n чисел от 1 до n без повторений) такую, чтобы сортировка пузырьком по возрастанию на соответствующем массиве сделала ровно k обменов. Если возможных ответов несколько — выведите любой. Входные данные Даны натуральное число n (n≤ 100) и целое неотрицательное k. Гарантируется, что для всех наборов тестовых данных решение существует. Выходные данные Выведите искомую перестановку в одной строке. Числа разделяйте пробелами.
0 0
Перейти к ответам

Ответы на вопрос

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Заблоцкая Ирина.

Ответ:

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)

Объяснение:

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Конечно, я помогу вам с этой задачей! Вот Python код, который решает данную задачу:

python
def solve(n, k): a = list(range(1, n + 1)) for i in range(n - 1): swaps = min(k, n - 1 - i) k -= swaps for j in range(i, i + swaps): a[j], a[j + 1] = a[j + 1], a[j] if k == 0: break return a # Ввод данных n, k = map(int, input().split()) # Получение и вывод результата result = solve(n, k) print(*result)

Просто скопируйте этот код в файл с расширением .py, запустите его, введите значения n и k, и он выдаст искомую перестановку, которая соответствует заданным условиям.

0 0

Похожие вопросы

Топ вопросов за вчера в категории Информатика

Последние заданные вопросы в категории Информатика

Задать вопрос