Оформяне на предлаганите задачи

Уважаеми колеги,

Моля Ви за успешното провеждане на олимпиадата да подготвите и изпратите Вашите предложения за задачи до 5 май на Светлин Наков svetlin@nakov.com

Предложенията Ви да са подготвени и оформени, както следва:

Условието на задачата да се изготви на български и английски езици. Всяка задача се намира в поддиректорията на темата си, чието име съвпада с letter полето от базата, която съдържа:

description: условието на задачата в един или няколко формата(doc, pdf). Ако такова не присъства, се търси условие от директорията на темата. Важат същите ограничения като при условията на темите. Примерен description файл.

test.in: входни данни за тестване на изпратените решения при еднотестова задача. Примерен файл може да видите от тук.

test.ans: изходни данни за тестване на изпратените решения при еднотестова задача. Примерен файл може да видите от тук.

test.??.in: в случай на многотестови задачи, набор от входни данни. Трябва да се именуват като: text.01.in, text.02.in, text.03.in и т.н. Системата определя дали задачата е еднотестова или многотестова по присъствието на файл с име text.01.in.

test.??.ans: в случай на многотестови задачи, набор от изходни данни. Трябва да се именуват като text.01.ans, text.02.ans, text.03.ans и т.н.

* внимание: въпреки че `spoj0` поддържа многотестови задачи, към текущият момент системата не поддържа частично оценяване, т.е. задачите се приемат за верни единствено ако минават всички тестове. тестовите двойки трябва да са с последователни номера, започващи от `00`, т.е. в тях не трябва да има пропуснати номера.

solution*: файлове с имена от вида `solution*.cpp` или `solution*.java` които представляват авторските решения (незадължително). Примерен файл може да видите от тук.

checker: изпълним файл, програма проверяваща коректността на даденото решение(не е задължителна). Ако такава отсъства, се приема, че изходните данни трябва да съвпадат буквално с дадените.

checker [входен_файл]  изходен_файл [помощен_файл]

Чекерите са произволни изпълними файлове (могат да бъдат както компилирани, така и писани на интерпретиран език, когато това е удобно). За проверка на задачата те се изпълняват с три аргумента – входен файл, авторски изходен файл и изходен файл от изпълнение на решението. Те се извикват само когато решението е изпълнени успешно и е влязло в ограничението на времето. Възможно е, при задачи с чекерите в .ans файловете да не се намира реален резултатен файл, а подсказваща информация за чекера. Чекера трябва да върне код 0, когато решенито е дало коректен резултат или код 1,  когато резултатът е грешен. Когато чекерът върне друга стойностм това се интерпретиа като вътрешна грешка, което може да се види от треньора или администратора за да се анализира проблема. Всичко което се изведе от чекера на стандартен изход или стандартен изход за грешки се записва в лога на изпълнението.
Всички материали за една задача да са в отделна папка, а папките на всички задачи да са архивирани.

set-info.conf: представлява текстов файл състоящ се от редове от вида `<ключ>=<стойност>`. За него са дефинирани следните ключове:
`name`: име на темата / състезанието
`start_time`: време в което темата / състезанието става активно. Трябва да е коректно написана в ISO 8601 формат *до секундите* включително
`duration`: продължителност на темата / състезанието в минути
`show_sources`: 1 или 0. Определя дали след изтичане на времето на състезанието, изпратените решения ще бъдат видими за всички
`about`: описание на темата. Може да съдържа HTML.

Пример:
{{{
name=DAA 2009 – Practice problems for week 9
start_time=2009-05-19 08:00:00
duration=2880
show_sources=1
about=DAA 2009 – Practice problems for week 9 – Dynamic Programming
}}}

problem-info.conf: дефинира свойствата на дадена задача. Също представлява текстов файл от ключове и стойности. За него са дефинирани следните ключове:
`name`: име на задачата
`time_limit`: цяло число указващо допустимото време за изпълнение в секунди
`about`: допълнително описание на задачата. Може да съдържа HTML

Пример:
{{{
name=variables
time_limit=6
about=DAA 2009 – Week 10 – Task 1
}}}

В никакъв случай не поставяйте изпълними файлове (*.exe или *.bat) в архива.