C нейросетями есть одна проблема – у меня нет для них задач. На работе красишь кнопки, в творчестве только кризис. При этом новые версии выходят и выходят и выходят. Следующая > предыдущей.
Поэтому, чтобы как-то их оценивать, я решил прорешать все задачи с сервиса CodeRun с компиляторами Kotlin/Java. Таких там 451 штука из 696. В отличие от литкода, в кодране задачи олимпиадного уровня и до недавнего времени не было вкладки с разборами решений. А в интернете нет хранилища, где бы они все готовенькие индексировались. Единственным местом, где обсуждаются решения является этот телеграм-чатик, но там не принято скидывать готовый код, скорее направят и подскажут, какой взять алгос.
Оказалось, что задачи решаются не так уверенно, как я думал. Часто – не с первой попытки. Пробовал ChatGPT, DeepSeek, Grok и Gemini. Сначала ChatGPT 4o, o3-mini-high и o4-mini-high. Кто-нибудь еще помнит этот всратый нейминг? Все легкие задачи отщелкались сразу. Средние решились без особых проблем этими же моделями + немного DeepSeek + Grok 3 Think. Когда подошла очередь сложных задач, эти три сетки начали тупеть и выдавать что угодно кроме решения. Зато хорошо справлялась Gemini 2.5 Pro, но примерно по 15 минут на одну задачу. В какой-то момент осталось 20 самых нерешаемых задач. На этом этапе попрощался с гроком и дипсиком. Появились Gemini 3 Pro и ChatGPT 5.2, они закрывали много тестов, но решения падали по времени или памяти. Понадобилось по 20 попыток, чтобы их решить. Наконец остались 2 задачи: Забавная очередь и Черные начинают и выигрывают, они не решились и за 50 попыток. Но вышел ChatGPT 5.4, я закинул их туда и получил готовый код с первого раза.
Что насчет промптинга. По мере роста сложности задач нейросети стали саботировать решение, прося больше вводных, либо прося меня подсказать им алгоритм решения.
Начинал с такого:
пришли решение задачи *ссылка*
Закончил этим:
Пришли код на языке Kotlin версии 1.9.21 (JRE 21) для полного решения этой задачи. Решение должно полностью соответствовать следующим требованиям:
• Решение должно быть эффективным по памяти и времени, не превышать установленные лимиты
• Код должен компилироваться без ошибок исполнения
• Решение должно проходить все открытые и закрытые тесты на платформе, где проводится проверка
• Алгоритм решения не должен быть подогнан под открытые тесты
Никакого английского и длинных простыней. Только итерирование.
По моделям поверхностно: дипсик – бумажный тигр, в кодинге плох, но разбирается в психологии, грок – хорош в знании современной повестки и написании фанфиков, слаб во всем что касается программирования, джеминай – решает олимпиадные задачи, часто с первого раза, но долго размышляет, чатгпт – тоже хорошо решает, думает быстрее.
Прогресс у новых версий явно есть. А применять лучше думающие и рассуждающие модели.