Обсуждение вопросов, связанных с системой проведения турниров ejudge.
-
iskhakovt - Posts:23
- Joined:13 December 2012, 22:13
Интерактор на Java
Post
by iskhakovt » 03 April 2014, 12:35
Для интерактивной задачи есть интерактор и чекер, написанные на Java.
Чекер использует testlib4j.jar, но он [testlib] подключается также и к интерактору, из-за чего последний падает:
Code: Select all
Exception in thread "main" java.lang.ClassCastException: Interact cannot be cast to ru.ifmo.testlib.Checker
at ru.ifmo.testlib.CheckerFramework.main(CheckerFramework.java:50)
Можно ли как-то это исправить?
-
cher - Posts:1153
- Joined:13 March 2004, 17:00
-
Contact:
Post
by cher » 03 April 2014, 14:47
Как должен запускаться интерактор, написанный на java?
-
iskhakovt - Posts:23
- Joined:13 December 2012, 22:13
Post
by iskhakovt » 03 April 2014, 15:00
cher wrote:Как должен запускаться интерактор, написанный на java?
Вроде, как обычно:
Code: Select all
Usage: <verifier_classname> <input_file> <output_file> <answer_file> [<result_file> [<test_system_args>]]
(Входной файл; путь для вывода протокола; файл с правильным ответом)
-
cher - Posts:1153
- Joined:13 March 2004, 17:00
-
Contact:
Post
by cher » 03 April 2014, 15:07
java -jar ... или как? Нужна командная строка полностью.
-
iskhakovt - Posts:23
- Joined:13 December 2012, 22:13
Post
by iskhakovt » 03 April 2014, 15:17
Скажем, так
Компиляция (или как-нибудь по-другому ...)
Code: Select all
javac Interact.java
jar cfe Interact.jar Interact Interact.class
Запуск:
Code: Select all
java -jar Interact.jar input.txt ouput.txt answer.txt
-
cher - Posts:1153
- Joined:13 March 2004, 17:00
-
Contact:
Post
by cher » 03 April 2014, 16:10
И при компиляции и запуске нет ошибок?
-
cher - Posts:1153
- Joined:13 March 2004, 17:00
-
Contact:
Post
by cher » 04 April 2014, 12:04
То есть для интерактора testlib.jar не нужен?
А вообще попробуйте поредактировать shell-скрипт для запуска интерактора.
-
iskhakovt - Posts:23
- Joined:13 December 2012, 22:13
Post
by iskhakovt » 04 April 2014, 17:10
Да, не нужен. Подключать к нему testlib в принципе вредно -- testlib пытается открыть на чтение три файла, из-за чего падает.
(Чекеру даются 3 файла на чтение, а интерактеру 2 на чтение и 1 на запись)
-
iskhakovt - Posts:23
- Joined:13 December 2012, 22:13
Post
by iskhakovt » 04 April 2014, 17:16
cher wrote:А вообще попробуйте поредактировать shell-скрипт для запуска интерактора.
А где он находится? Я пробовал менять Makefile, но он автогенерируется.