如果没有提供多个测试用例,我的程序什么时候应该停止读取输入?

时间:2015-08-12 08:58:01

标签: c++

我遇到了这个问题,我必须运行一些测试并输出结果。它没什么特别的,但问题是它说了几个测试用例"。

我的意思是它没有采取任何变量来修复测试用例的数量。我为一个案例编写了代码,并且可以通过循环运行一段固定的时间。但是,当我不知道在线评判将要运行多少测试用例时,我怎么知道何时停止代码?

1 个答案:

答案 0 :(得分:2)

必须有一些输入才能启动一组输入。例如,数组长度/元素数或字符串。在那件事你必须留意。只要保持这样的循环..

int n;
while(cin>>n)
{
  //do something
}

如果没有提及,你不必考虑这个。 在竞争性编程中,通常会提到测试用例的数量。然后,考虑到测试用例的数量,你可以循环一个变量。

指定输入结束的另一种方式

还有另一种指定输入结束的方法(通常在 UVA在线判断中遇到),它们在最后一行中给出-1或字符串"END"。因此,在这些情况下,您可以在完成测试用例后将值转换为变量,并检查是否遇到-1"END"并按要求退出。

<强> 实施例 例如:this problem [来自 Codeforces ]指定没有测试用例。在这里,您需要获得n元素并处理它并提供输出。没有其他的。您不必考虑未提及的测试用例。您的程序将在不同的输入集上运行多次。