如何为编程竞赛创建被动任务?

时间:2010-04-22 04:39:42

标签: reactive-programming

有时在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

我在编写法官程序并让它判断客户端程序时遇到了麻烦。如果有人可以为我的例子写一个法官程序,我会很感激。

1 个答案:

答案 0 :(得分:0)

您可以通过命令提示符让程序相互通信。

在Windows上,你会写:

java judge | java client

所以它将judge的输出加到client的输入上。

也就是说,只要judge写入标准输出流(它将会)并且客户端正在从标准输入流(您的标准输入流)读取,那么它将起作用。