有时在IOI编程竞赛中会看到被动任务。与批处理任务不同,反应式解决方案从另一个程序获取输入并输出它。该程序通常会“判断”判断程序一定次数,然后输出最终答案。
示例
客户端程序逐个接受行,然后简单地回复它。当遇到“完成”的行时,它会立即存在。
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
我在编写法官程序并让它判断客户端程序时遇到了麻烦。如果有人可以为我的例子写一个法官程序,我会很感激。
答案 0 :(得分:0)
您可以通过命令提示符让程序相互通信。
在Windows上,你会写:
java judge | java client
所以它将judge
的输出加到client
的输入上。
也就是说,只要judge
写入标准输出流(它将会)并且客户端正在从标准输入流(您的标准输入流)读取,那么它将起作用。