Реактивная задача иногда встречается в конкурсе программирования IOI. В отличие от пакетных задач, реактивные решения принимают входную информацию из другой программы, а также выводят ее. Программа обычно «запрашивает» программу судьи определенное количество раз, затем выводит окончательный ответ.Как создать реактивные задачи для соревнований по программированию?
Пример
клиент программа принимает строки один за другим, а просто повторяет его обратно. Когда он сталкивается с линией с «done», она существует немедленно.
Программа клиента в Java выглядит следующим образом:
import java.util.*;
class Main{
public static void main (String[] args){
Scanner in = new Scanner(System.in);
String s;
while (!(s=in.nextLine()).equals("done"))
System.out.println(s);
}
}
Судья программа дает ввод и обрабатывает выход из клиентской программы. В этом примере он передает ему предопределенный ввод и проверяет, правильно ли вернула его клиентская программа.
Сеанс может выглядеть следующим образом:
Judge Client
------------------
Hello
Hello
World
World
done
У меня возникли проблемы написания программы судьи и с его судить клиентскую программу. Я был бы признателен, если бы кто-нибудь мог написать программу для моего примера.
Да. Проблема в том, что клиенту также необходимо * написать * вывод судье, так что это не совсем один способ. – directx