C++ 在线编程竞赛的输入

C++ 在线编程竞赛的输入,c++,C++,在许多在线编程竞赛(例如)中,输入有2-5行。第一行主要由测试用例和其他包含程序数据的行组成。 例如: 输入:输入的第一行包含一个整数T,表示 测试用例的数量。然后,T测试用例随之出现。每行的第一行 测试用例包含三个空格分隔的整数N、K和Q 在问题中描述。第二行包含一个字符串S 长度N。接下来的Q行描述查询,其中第i行 其中包含两个空格分隔的整数Li和Ri。 182 30111000014245 八, 现在假设在我的代码中,我将第一行的输入作为 cin>>no_of_case;

在许多在线编程竞赛(例如)中,输入有2-5行。第一行主要由测试用例和其他包含程序数据的行组成。 例如:

输入:输入的第一行包含一个整数T,表示 测试用例的数量。然后,T测试用例随之出现。每行的第一行 测试用例包含三个空格分隔的整数N、K和Q 在问题中描述。第二行包含一个字符串S 长度N。接下来的Q行描述查询,其中第i行 其中包含两个空格分隔的整数Li和Ri。 1

82 3

01110000

14

24

5 八,

现在假设在我的代码中,我将第一行的输入作为

 cin>>no_of_case;
我运行一个for循环,循环次数是我从第二行获取输入时遇到的问题的数量

但正如您在input语句中看到的,第2行有3个变量输入

如何在3个不同变量中获取第二行的输入?


我发现的一种方法是将输入放入数组中,解析数据中的空格,并将输入分离为不同的变量。但这对于长时间的输入来说太长了。

以下是您可能要寻找的算法:

使用
getline(cin,无大小写)
读取所有输入,然后使用空格(“”)作为分隔符拆分输入

希望这能让你走上正轨

注意:如果计划将输入用作算术数字,则可能需要将这些字符串转换回整数

编辑:要将字符串数转换回整数,可以使用
std::stoi()
函数。在本例中,请这样使用它:
std::stoi(无任何大小写)

一定要确保有
#include
#include
,如果使用名称空间,则不需要
std::
前缀。

简单修复:

cin>>N>>K>>Q;

这应该是可行的…

,将行放在and中(在and的帮助下)放在a中。如果您不知道如何做,那么现在就担心在线竞争可能还为时过早。。。?也许能找到一两本教程,甚至一本书。如果您需要这里的帮助,您应该发布您尝试过的代码的确切输入和输出(或编译器错误,如果您没有运行它),以及您不理解的失败原因?@Pushkar不,它读取三个以空格分隔的内容。@Pushkar,这就是我面临的问题,我如何将它们转换回Integers@Pushkar我已经编辑了我的答案来展示如何将字符串转换回整数。。。