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

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

Привет у меня вопрос насчет системы решения задач на ИОИ. Я не понял как их решают. Например, где там входные данные или же объясните мне кто нибудь мне первый пример(pizza). КАК она там решена? Всмысле почему не в один файл а в несколько и по какой логике они создавались. Пожалуйста очень надо ! Спасибо. Если можно до начала олимпиады. Т е до 23 сентября.

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

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

Там используются так называемые градеры. Это куски программы, которую предоставляет жюри. В частности, в папке с задачей даётся тестовая реализация, которая читает данные из stdin в каком-то формате и в каком-то формате выводит их в stdout. На сервере при проверке может использоваться другая реализация (которая, возможно, будет отслеживать читерство и тому подобное). Однако интерфейс у них всех общий и он описан в условии задачи ("implement procedure solveTheProblem(int a, int b, int c)").

Для компиляции программы с градером используйте команду g++ your_file.cpp grader.cpp -o sol для C++. Получится исполняемый файл sol, который можно запустить на тесте 01 и вывести ответ в 01.out вот так: ./sol <01 >01.out.

В папке с задачей также обычно лежат демо-решения, которые компилируются, но не решают задачу.