Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Создание условий и разборов задач

Для создания условий и разборов задач рекомендуется использовать aj-templates. В репозитории находятся 2 шаблона: statements.typ для условий и editorial.typ для разборов. Шаблон использует язык Typst. Для его использования нужно вставить содержимое нужного шаблона в свой скрипт и при необходимости изменить первую строчку на

#let lang = "ru"

для того, чтобы весь текст был на русском.

Использование шаблона для условий

#template([<заголовок>], subtitle: [<подзаголовок>], 
  [ 
    // Условия задач
    #problem(
      "<название>",
      "<лимит по времени>",
      "<лимит по памяти>",
      [
        <легенда>
      ],
      input: 
      [
        <входные данные>
      ],
      output: 
      [
        <выходные данные>
      ],
      interactive_protocol: 
      [
        <протокол взаимодействия для интерактивных задач>
      ],
      first_run: 
      [
        <первый запуск для задач с двойным запуском>
      ],
      second_run: 
      [
        <второй запуск для задач с двойным запуском>
      ],
      (
        // Примеры
        [
          <входные данные>
        ],
        [
          <выходные данные>
        ],
        [
          <входные данные>
        ],
        [
          <выходные данные>
        ],
        // И так далее...
      ),
      comments:
      [
        <комментарии>
      ],
      subgroups_scoring:
      (
        // Подгруппы
        [
          <номер>
        ],
        [
          <ограничения>
        ],
        [
          <баллы>
        ],
        [
          <требуемые подгруппы>
        ]
      ),
      per_test_scoring: 
      [
        <система оценки для задач с потестовой оценкой>
      ]
    )
    // Для переноса условия следующей задачи на следующую страницу необходим #pagebreak()
  ]
)

Использование шаблона для разборов

#template([<заголовок>], subtitle: [<подзаголовок>], 
  [ 
    // Разбор задач
    #problem(
      "<название>",
      "<разбор>"
    )
    // Для переноса разбора следующей задачи на следующую страницу необходим #pagebreak()
  ]
)