Что нужно, что бы Solution command http://www.ejudge.ru/wiki/index.php/Ser ... lution_cmd сгенерировал файлы ответов .ans из файлов .dat?
Т.е мне нужно автоматически создавать ответы по эталонному решению. Как это сделать:?:
Автоматическая генерация ответов
Re: Автоматическая генерация ответов
А! Разобрался.
Итак, для генерации ответов надо в edit setings -> problems->show details->show advanced->поле Solution command ввести:
имя файла. (all_solutions/A)
ну и конечно нужно положить соответствующий файл в папку (в нашем случае all_solutions).
Потом в edit tests -> в поле tests: view-> нажать generate output напротив нужного теста или нажать generate all answers внизу.
Итак, для генерации ответов надо в edit setings -> problems->show details->show advanced->поле Solution command ввести:
имя файла. (all_solutions/A)
ну и конечно нужно положить соответствующий файл в папку (в нашем случае all_solutions).
Потом в edit tests -> в поле tests: view-> нажать generate output напротив нужного теста или нажать generate all answers внизу.
Re: Автоматическая генерация ответов
Повторил в точности как написано. Выдает ошибку
В генераторе используются: входной файл 1с.in и 1c.out, но похоже он их не находит. Что делать?
Code: Select all
/usr/bin/make EJUDGE_PREFIX_DIR=/home/ejudge/inst-ejudge EJUDGE_CONTESTS_HOME_DIR=/home/judges EJUDGE_LOCAL_DIR=/var/lib/ejudge TEST_NUM=1 answer
Start time: 2012/11/16 21:20:57.0649
Makefile:34: предупреждение: переопределение команд для цели `solutions/1c'
Makefile:21: предупреждение: старые команды для цели `solutions/1c' игнорируются
cd tests && /home/ejudge/inst-ejudge/bin/ejudge-execute --test-pattern=%03d.dat --corr-pattern=%03d.ans --update-corr --test-num=1 ../solutions/1c
Runtime error 2 at $080480F5
$080480F5
$08062513
Status: RT
Exitcode: 2
Description: run-time error
CPUTime: 0
RealTime: 2
VMSize: 339968
make: *** [answer] Ошибка 2
Stop time: 2012/11/16 21:20:57.0657
Process exited with code 2
User: 0 ms
System: 0 ms
Max RSS: 6644 KiB
Re: Автоматическая генерация ответов
А в настройках задачи прописаны имена входных и выходных файлов?
Re: Автоматическая генерация ответов
Имена прописаны в шаблоне задачи как %lPs.in и %lPs.out и поэтому конкретно для задачи не указывались.
С генерированный Makefile.
Версия ejudge 2.3.24
Code: Select all
Config parameters
[problem]
id = 1
super = "Generic"
short_name = "1C"
long_name = "Возрастающая подпоследовательность"
type = "standard"
input_file = "1c.in"
output_file = "1c.out"
test_sfx = ".dat"
use_corr
corr_sfx = ".ans"
time_limit = 1
real_time_limit = 10
checker_real_time_limit = 30
max_vm_size = 512M
max_stack_size = 64M
max_file_size = 512M
acm_run_penalty = 20
standard_checker = "cmp_file"
solution_cmd = "solutions/1c"
ignore_compile_errors
disable_submit_after_ok
Code: Select all
### BEGIN ejudge auto-generated makefile ###
EJUDGE_PREFIX_DIR ?= /home/ejudge/inst-ejudge
EJUDGE_CONTESTS_HOME_DIR ?= /home/judges
EJUDGE_LOCAL_DIR ?= /var/lib/ejudge
EJUDGE_SERVER_BIN_PATH ?= /home/ejudge/inst-ejudge/libexec/ejudge/bin
FPC = fpc
FPCFLAGS =
FPCTESTLIBFLAGS = -Fu/home/ejudge/inst-ejudge/share/ejudge/testlib/fpc
EXECUTE = ${EJUDGE_PREFIX_DIR}/bin/ejudge-execute
EXECUTE_FLAGS = --test-pattern=%03d.dat --corr-pattern=%03d.ans
NORMALIZE = ${EJUDGE_SERVER_BIN_PATH}/ej-normalize
NORMALIZE_FLAGS = --workdir=tests --test-pattern=%03d.dat --corr-pattern=%03d.ans
all : solutions/1c solutions/1c
check_settings : all normalize
solutions/1c : solutions/1c.pas
${FPC} -dEJUDGE ${FPCFLAGS} solutions/1c.pas
answers : solutions/1c
${EXECUTE} ${EXECUTE_FLAGS} --update-corr --test-dir=tests --workdir=tests --all-tests solutions/1c
answer : solutions/1c
cd tests && ${EXECUTE} ${EXECUTE_FLAGS} --update-corr --test-num=${TEST_NUM} ../solutions/1c
normalize :
${NORMALIZE} ${NORMALIZE_FLAGS} --all-tests
solutions/1c : solutions/1c.pas
cd "solutions" && ${FPC} -dEJUDGE ${FPCFLAGS} 1c.pas
clean :
-rm -f *.o *.class *.exe *~ *.bak solutions/1c solutions/*.o solutions/1c
### END ejudge auto-generated makefile ###
Re: Автоматическая генерация ответов
Исправлено в SVN.