Автоматическая генерация ответов

Обсуждение вопросов, связанных с системой проведения турниров ejudge.
Post Reply
1um
Posts:2
Joined:12 November 2012, 19:52
Автоматическая генерация ответов

Post by 1um » 12 November 2012, 20:00

Что нужно, что бы Solution command http://www.ejudge.ru/wiki/index.php/Ser ... lution_cmd сгенерировал файлы ответов .ans из файлов .dat?
Т.е мне нужно автоматически создавать ответы по эталонному решению. Как это сделать:?:

1um
Posts:2
Joined:12 November 2012, 19:52

Re: Автоматическая генерация ответов

Post by 1um » 12 November 2012, 20:19

А! Разобрался.
Итак, для генерации ответов надо в edit setings -> problems->show details->show advanced->поле Solution command ввести:
имя файла. (all_solutions/A)
ну и конечно нужно положить соответствующий файл в папку (в нашем случае all_solutions).
Потом в edit tests -> в поле tests: view-> нажать generate output напротив нужного теста или нажать generate all answers внизу.

AndreyP
Posts:16
Joined:03 October 2011, 12:54

Re: Автоматическая генерация ответов

Post by AndreyP » 16 November 2012, 22:39

Повторил в точности как написано. Выдает ошибку

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
В генераторе используются: входной файл 1с.in и 1c.out, но похоже он их не находит. Что делать?

cher
Posts:1153
Joined:13 March 2004, 17:00
Contact:

Re: Автоматическая генерация ответов

Post by cher » 17 November 2012, 00:09

А в настройках задачи прописаны имена входных и выходных файлов?

AndreyP
Posts:16
Joined:03 October 2011, 12:54

Re: Автоматическая генерация ответов

Post by AndreyP » 18 November 2012, 17:02

Имена прописаны в шаблоне задачи как %lPs.in и %lPs.out и поэтому конкретно для задачи не указывались.

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
С генерированный Makefile.

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 ###
Версия ejudge 2.3.24

cher
Posts:1153
Joined:13 March 2004, 17:00
Contact:

Re: Автоматическая генерация ответов

Post by cher » 18 November 2012, 18:29

Исправлено в SVN.

Post Reply