Шаблоны кода

Шаблоны кода — это заранее подготовленные фрагменты кода, которые предоставляют участникам полезную отправную точку для решения задачи. Эти шаблоны обычно включают базовую структуру, такую как чтение входных данных и подготовка вывода, позволяя участникам сосредоточиться на реализации основной логики. Вы можете создавать шаблоны для различных языков программирования, что упрощает процесс начала для участников.

Как создать шаблон кода

Чтобы создать шаблон кода, выполните следующие шаги:

  1. Откройте консоль и выберите пространство, где размещена ваша задача.

  2. Перейдите в раздел Задачи в левом меню.

  3. Выберите задачу, которую хотите изменить.

  4. Перейдите в Шаблоны кода в меню задачи.

  5. Нажмите Добавить шаблон для создания нового шаблона или выберите существующий, чтобы отредактировать его.

Рис. 1. Форма редактирования шаблона кода

В редакторе шаблонов кода вы можете выбрать язык программирования (runtime) для шаблона и ввести основной код шаблона. Этот код будет показан участникам, когда они впервые откроют редактор кода.

Также можно настроить дополнительные параметры:

  • Дополнительные файлы: Загрузите дополнительные файлы, которые будут добавлены в рабочую директорию во время компиляции и выполнения решения. Например, в шаблоне для C++ вы можете добавить заголовочные файлы (.h), которые компилятор автоматически подключит при сборке.

  • Заголовок: Этот фрагмент кода добавляется в начало решения перед компиляцией, но он не будет виден участнику.

  • Футер: Этот фрагмент кода добавляется в конец решения перед компиляцией и также не будет показан участнику.

Используя дополнительные файлы, заголовки и футеры, вы можете минимизировать количество кода, которое участникам нужно будет писать, иногда сводя задачу лишь к реализации одной функции.

Однако помните, что в некоторых случаях участники могут получить доступ к содержимому дополнительных файлов, заголовков или футеров для некоторых языков программирования. Избегайте размещения логики оценки в этих файлах. Используйте заголовки и футеры для чтения входных данных и вывода результата, а логику оценки оставьте в чекере или интеракторе.