Не нашел подобных тем на форуме по этому вопросу.
Первый раз столкнулся с тестированием задач на Ejudge.
Допустим на выход задачи необходимо получить три числа, каждое в новой строке. В формате:
6
7
8
Вопрос:
Необходимо ли для корректного засчёта программы после последнего числа 8 делать перевод строки /n?
Т.е. последнее число выводить без перевода строки как printf("%d",i) или надо переводить строку printf("%d\n",i) и выводить ответ в виде
6
7
8
<Новая строка>
Или это уже зависит от конкретных настроек самого Ejudge.
Формат вывода?
Re: Формат вывода?
Это зависит от задачи. Вам следует адресовать этот вопрос тому, кто выдал конкретную задачу.
-
- Posts:2
- Joined:06 September 2010, 13:20
Re: Формат вывода?
Спасибо.
Скажите, пожалуйста. Сами данные, которая программа даёт на вывод система Ejudge получит только после завершения работы программы?
Т.е. я могу спокойно посылать данные в поток вывода(например составляет ответ в виде строки постепенно по ходу выполнения алгоритма) и не опасаться того что система засчитает только первое поступление данных в поток вывода?
Скажите, пожалуйста. Сами данные, которая программа даёт на вывод система Ejudge получит только после завершения работы программы?
Т.е. я могу спокойно посылать данные в поток вывода(например составляет ответ в виде строки постепенно по ходу выполнения алгоритма) и не опасаться того что система засчитает только первое поступление данных в поток вывода?
Re: Формат вывода?
Во-во-во. На одной из первой московских командных студенческих олимпиад, т.е. где-то в 1999-2001 году мою команду засудили за то, что в условиях задачи было написано "Программа получает на вход строку". При этом когда я писал считывание данных, то предполагал, что строка заканчивается символом конца строки. А в тестах это было не так. Наша апелляция удовлетворена не была ):cher wrote:Это зависит от задачи. Вам следует адресовать этот вопрос тому, кто выдал конкретную задачу.
Надеюсь, это послужило одной из причин, почему ejudge автоматически добавляет \n в конец файла (:
Re: Формат вывода?
Да, именно так. На самом деле, непонятно, как может быть иначе. Данные в поток вывода вообще-то пишутся побайтово и первое поступление данных в поток вывода - это запись первого байта. Естественно, ejudge обрабатывает не только первый байт выходного потока.LuffyFuffy wrote:Спасибо.
Скажите, пожалуйста. Сами данные, которая программа даёт на вывод система Ejudge получит только после завершения работы программы?