Пожалуйста, прочтите новое правило об ограничении использования AI-инструментов. ×

Блог пользователя IlyaCk

Автор IlyaCk, 11 лет назад, По-русски

Почему-то нигде не нашёл внятной доки, как превращать html-файлы с текстами условий задач, генерируемые Polygon-ом, в xml-файлы, из которых ejudge может отображать условия участникам. Ткните, пожалуйста, в какую-нибудь конкретную доку.

Или там всё совсем грустно, постоянно меняется и лучший способ — каждый раз переписывать на коленке свою прогу, парсящую первое и генерящую второе?

  • Проголосовать: нравится
  • +3
  • Проголосовать: не нравится

»
11 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

А способ "Загрузить задачи из Polygon" (т.е. напрямую) подойдёт?

  • »
    »
    11 лет назад, # ^ |
    Rev. 2   Проголосовать: нравится 0 Проголосовать: не нравится

    Дык пробовал! Всё есть, кроме текста условия. Ничё, что в тексте вопроса моего прямо указано насчёт html и xml?

    Полигон формирует problem.html, да к нему ещё problem-statement.css. Чего хочет получить ejudge — я точно не знаю, ибо внятной доки не заметно, но в Test Contest (contets_id=1) весь текст условия внутри statement.xml.

    Тупо переименовать — пробовал, но, естественно, не заработало. Было бы странно, если б заработало, учитывая, что, скажем, пример входа-выхода Полигон оформляет как

    <DIV class="sample-test"><DIV class="input"><DIV class="title">Входные данные</DIV><PRE class="content">3<BR>1 5 10<BR></PRE></DIV><DIV class="output"><DIV class="title">Выходные данные</DIV><PRE class="content">9<BR></PRE></DIV><DIV class="input"><DIV class="title">Входные данные</DIV><PRE class="content">3<BR>1 5 2<BR></PRE></DIV><DIV class="output"><DIV class="title">Выходные данные</DIV><PRE class="content">3<BR></PRE></DIV></DIV></DIV></DIV>
    

    , а в тестовом контесте еджаджа пример входа-выхода оформлен как

      <examples>
        <example>
          <input>1
    2</input>
          <output>3</output>
        </example>
      </examples>
    

    (Я знаю, что это примеры от разных задач, что я поленился исправить кодировку, и т.д.; это всё не отменяет того факта, что формат-то принципиально разный!)

    Я верю, что, поигравшись, я в конце концов сумел бы написать прожку, которая будет парсить одно и генерить другое (причём неоднократно будет случаться, что сначала покажется, что готово, потом окажется, что что-то там не учтено, и так далее). Но надеюсь, что существуют и более цивилизованные методы.

    • »
      »
      »
      11 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится

      Господа минусующие, а потрудитесь разъяснить, в чём конкретно я неправ!

      • »
        »
        »
        »
        11 лет назад, # ^ |
          Проголосовать: нравится 0 Проголосовать: не нравится

        А чем плохо просто выкладывать условия в pdf?

        • »
          »
          »
          »
          »
          11 лет назад, # ^ |
          Rev. 2   Проголосовать: нравится +6 Проголосовать: не нравится

          Тоже, конечно, выход, но как по мне — малость костыльный.

          1) Иногда можно сомневаться в наличии/адекватности/... pdf-viewer-а, тогда как наличие web-browser-а и так и так неминуемо необходимо

          2) Насколько понимаю, всякий более-менее адекватный способ прикрутить условие задачи в еджадж так, чтоб онО отображалось в веб-браузере, будет давать гарантированно правильные еджаджевские time limit, memory limit, имена файлов. С отдельно собранными pdf уследить за этим труднее, особенно когда у автора нет возможности достаточно заранее и достаточно подробно тестить различные решения задачи именно на том же сервере, где будет проходить собственно контест, и как следствие ограничения (особенно по времени) приходится менять в последний момент.

          3) Всё-таки удобно иметь условие задачи и кнопку "Отправить решение" на одной странице.