Сортировка на ЕГЭ: как сдать без репетитора за 995 рублей
Слушай, сортировка на ЕГЭ — тема, которую реально сдать без репетитора. Я не шучу. Тут не нужно зубрить сотни алгоритмов — достаточно понять три штуки и уметь пользоваться sorted() в Python. В этой статье я разложу по полочкам, что проверяют, дам шорткаты, которые сэкономят тебе 20 минут на экзамене, и покажу, как не слиться на простых ошибках. А в конце расскажу про Наставника — сервис, где за одну пиццу в месяц ты получаешь репетитора по 12 предметам. Давай по порядку.
Сортировка — это не про скучную теорию. На ЕГЭ она встречается в заданиях 9, 12, 17, 23, 24 и 25. По факту, если ты умеешь сортировать список и знаешь, какой алгоритм когда применить, ты закрываешь сразу 4-6 первичных баллов. А это почти 10% от максимума. Но есть нюанс: многие парятся на пузырьке, хотя в Python сортировка встроена. Главное — не тупить с ключами и не забывать про стабильность.
Короче, если ты гуглишь "сортировка как сдать" или "дешёвый репетитор ЕГЭ informatics" — ты по адресу. Я покажу, как сэкономить деньги и время. Погнали.
Без карты, без кредитки. Выбери персонажа — учи голосом, побеждай в баттлах.
Что реально проверяют на ЕГЭ по сортировке
Не дай себя обмануть: на экзамене не спрашивают "напиши сортировку пузырьком" в чистом виде. Обычно сортировка — это инструмент для решения более сложной задачи. Вот конкретные типы заданий:
- Задание 9: Анализ таблиц с сортировкой строк по условию. Часто нужно отсортировать данные по возрастанию/убыванию и найти медиану или сумму.
- Задание 12: Работа с IP-адресами — нужно отсортировать адреса по маске или по октетам.
- Задание 17: Обработка последовательностей — сортировка списка чисел и поиск пар по условию.
- Задание 23: Динамическое программирование — иногда проще отсортировать исходные данные.
- Задание 24: Строки — сортировка символов или подстрок.
- Задание 25: Массивы — сортировка и поиск элементов, удовлетворяющих условию.
Что от тебя хотят: уметь применить sorted() с нужным ключом, написать простой алгоритм (пузырёк или выбор) для небольших массивов, и не запутаться в индексах. Всё. Никакой быстрой сортировки или слияния — их не спрашивают.
Совет: Не учи пузырёк наизусть. Лучше пойми логику: проходы, сравнения, обмены. И всегда проверяй, можно ли использовать встроенную сортировку — она быстрее и надёжнее.
Задание 17: Дан список из 100 целых чисел. Найдите количество пар элементов, в которых сумма элементов чётна, а хотя бы одно число оканчивается на 5. Отсортируйте список по возрастанию и выведите минимальную сумму такой пары.
Шаг 1: Считываем список чисел.
Шаг 2: Сортируем список по возрастанию: sorted_numbers = sorted(numbers).
Шаг 3: Перебираем все пары (i, j) с i < j, проверяем условие: (a+b) % 2 == 0 и (a%10==5 or b%10==5).
Шаг 4: Запоминаем минимальную сумму. Если таких пар нет, выводим 0.
Код:
numbers = [int(x) for x in open('17.txt')]
sorted_numbers = sorted(numbers)
min_sum = float('inf')
for i in range(len(sorted_numbers)):
for j in range(i+1, len(sorted_numbers)):
a, b = sorted_numbers[i], sorted_numbers[j]
if (a+b)%2==0 and (a%10==5 or b%10==5):
min_sum = min(min_sum, a+b)
print(min_sum if min_sum!=float('inf') else 0)
Топ-3 шортката, которые экономят время на экзамене
Эти приёмы реально ускоряют решение. Запомни их — и не придётся писать велосипеды.
1. sorted() с key=lambda: Если нужно отсортировать по второму элементу кортежа или по модулю числа — не пиши цикл. Пример: sorted(pairs, key=lambda x: x[1]) — сортировка по второму элементу. Ещё круче: sorted(nums, key=abs) — по модулю.
2. .sort() vs sorted(): .sort() изменяет исходный список, sorted() возвращает новый. На ЕГЭ чаще нужен sorted(), чтобы не портить данные. Но если список большой и не жалко — .sort() быстрее.
3. reverse=True: Сортировка по убыванию одной строчкой. Не надо писать реверс или сортировать дважды. Пример: sorted(nums, reverse=True).
Бонус: Если нужно отсортировать строки по длине — key=len. Или по последней букве — key=lambda s: s[-1].
Где обычно сливаются и как этого избежать
Ошибки, из-за которых теряют баллы:
- Индексы: При сортировке пузырьком забывают, что после каждого прохода последний элемент уже на месте. Поэтому внутренний цикл должен идти до n-1-i. Иначе — лишние сравнения или выход за границы.
- Неправильный ключ: В sorted() передают key=lambda x: x[0], а нужно по второму элементу. Или забывают reverse=True. Проверяй на маленьком примере.
- Сортировка строк: По умолчанию лексикографически. Если нужно по числовому значению — key=int.
- Изменение списка во время сортировки: Не делай .sort() внутри цикла по тому же списку.
- Путаница с in-place: После .sort() переменная остаётся той же, но если ты присвоил sorted() новой переменной, а потом используешь старую — получишь неотсортированные данные.
Как избежать: Всегда тестируй на простых данных. Напиши список из 3-5 элементов и проверь вручную. И не стесняйся использовать print() для отладки.
Конкретный пример разбора задачи уровня ЕГЭ с полным решением
Возьмём задание 24 (строка). Условие: В текстовом файле записана строка из символов A, B, C, D, E. Найдите максимальную длину подстроки, в которой символы расположены в алфавитном порядке (по возрастанию).
Решение:
1. Считываем строку из файла.
2. Инициализируем текущую длину = 1, максимальную = 1.
3. Проходим по строке с индекса 1 до конца: если s[i] >= s[i-1] (в алфавитном порядке), то текущая длина +1; иначе сбрасываем до 1.
4. Обновляем максимум.
5. Выводим результат.
Код:
s = open('24.txt').readline().strip()
cur = 1
max_len = 1
for i in range(1, len(s)):
if s[i] >= s[i-1]:
cur += 1
else:
cur = 1
max_len = max(max_len, cur)
print(max_len)
Это не сортировка в чистом виде, но принцип тот же: упорядоченность. На экзамене часто так маскируют.
Как с этим помогает Наставник
Представь, что ты не один. Наставник AI — это сервис, где ты выбираешь персонажа, который объяснит тему так, как тебе вкайф. Хочешь — Витёк разложит по-братски: "Слышь, сортировка — это просто. Ты берёшь список и говоришь sorted(), понял?" Хочешь — Анна Сергеевна по-советски: "Товарищ, алгоритм пузырька — основа основ. Запомните раз и навсегда." Или Криштиану: "Как Месси на тренировке — отрабатывай каждый проход, и будешь лучшим."
Ты говоришь голосом свой вопрос, а он отвечает голосом персонажа. Если не понял — он задаёт наводящие вопросы (сократовский метод). Никаких готовых ответов — ты сам доходишь до решения. А ещё есть баттлы с друзьями: кто быстрее и точнее решит квиз по сортировке. И геймификация: XP, уровни, стрики. Не хочешь учиться — хочешь поиграть? А учишься между делом.
Попробуй прямо сейчас: зайди на nastavnik-ai.ru, выбери Витька или Криштиану и получи три бесплатных урока без карты.
Цена: 995 рублей за месяц всех 12 предметов — одна пицца
Сравни: репетитор по информатике берёт 2000 рублей за час. А тут 995 рублей за месяц — и у тебя доступ ко всем 12 предметам, 15+ персонажам, баттлам, тетради, чату. Это как если бы ты купил одну пиццу, но вместо еды получил репетитора на месяц. И скидка 50% на старте фиксируется навсегда. Если берёшь Премиум за 2495 — ещё и голос родителя или кумира. Элит за 4995 — безлимит.
Не хочешь платить? Есть бесплатный тариф: один урок и баттлы. Но для подготовки к ЕГЭ лучше Стандарт — 30 уроков в месяц. Сортируй как хочешь.
Частые вопросы
Без карты, без кредитки. Выбери персонажа — учи голосом, побеждай в баттлах.