Алгоритмы(1657 задач)
Структуры данных(279 задач)
Интерактивные задачи(17 задач)
Другое(54 задач)
Даны два числа n и k . Вывести перестановку из n чисел ( n чисел от 1 до n без повторений) такую, чтобы сортировка пузырьком по возрастанию на соответствующем массиве сделала ровно k обменов. Если возможных ответов несколько –– выведите любой.
Даны натуральное число n ( n ≤ 10 5 ) и целое неотрицательное k . Гарантируется, что для всех наборов тестовых данных решение существует.
Выведите искомую перестановку в одной строке. Числа разделяйте пробелами.
5 3
1 5 2 3 4
Какое число окажется в середине, если расставить элементы массива по возрастанию?
В первой строке дано одно натуральное нечетное число n ( 1 ≤ n < 1000 , n — нечетное) — количество элементов массива. Во второй строке через пробел перечислены элементы массива — натуральные числа, не превышающие 10 9 .
Выведите одно число — ответ на задачу
5 6 2 7 4 2
4
Дан массив. Отсортировать его так, чтобы сначала шли четные по неубыванию, потом нечетные по неубыванию.
Решите задачу, используя стандартную сортировку с компаратором (в Python - с помощью key).
В первой строке дано одно натуральное число n ( 1 ≤ n ≤ 100 ) — количество элементов массива. Во второй строке через пробел перечислены элементы массива — натуральные числа, не превышающие 10 9 .
В одной строке выведите массив, отсортированный заданным образом. Числа разделяйте пробелами.
4 3 2 1 2
2 2 1 3
Дан массив. Ваша задача вывести план сортировки этого массива по неубыванию. Одно действие характеризуется двумя числами — индексами обмениваемых элементов. То есть, если выведено 1-3, это значит, что нужно поменять местами первый и третий элементы массива. Массив индексируется с единицы
В первой строке дано одно натуральное нечетное число n ( 1 ≤ n ≤ 10 4 ) — количество элементов массива. Во второй строке через пробел перечислены элементы массива — натуральные числа, не превышающие 10 9 .
Выведите не более 10 5 строк, в каждой из которых выведите по два различных числа, разделенных дефисом — индексы обмениваемых ячеек. Если возможных ответов несколько — выведите любой.
4 3 5 1 4
3-1 3-2 4-3
Студенты одного из вузов спроектировали робота для частичной автоматизации процесса сборки авиационного двигателя.
В процессе сборки двигателя могут встречаться операции 26 типов, которые обозначаются строчными буквами латинского алфавита. Процесс сборки состоит из N операций.
Предполагается использовать робота один раз для выполнения части подряд идущих операций из процесса сборки.
Память робота состоит из K ячеек, каждая из которых содержит одну операцию. Операции выполняются последовательно, начиная с первой, в том порядке, в котором они расположены в памяти. Выполнив последнюю из них, робот продолжает работу с первой. Робота можно остановить после любой операции. Использование робота экономически целесообразно, если он выполнит хотя бы K + 1 операцию.
Требуется написать программу, которая по заданному процессу сборки определит количество экономически целесообразных способов использования робота.
В первой строке входного файла записано число K > 0 "— количество операций, которые можно записать в память робота.
Вторая строка состоит из N > K строчных латинских букв, обозначающих операции "— процесс сборки двигателя. Операции одного и того же типа обозначаются одной и той же буквой.
Выходной файл должен содержать единственное целое число "— количество экономически целесообразных способов использования робота.
Данная задача содержит четыре подзадачи. Для оценки каждой подзадачи используется своя группа тестов. Баллы за подзадачу начисляются только в том случае, если все тесты из этой группы пройдены.
2 zabacabab
5
2 abc
0