在线编程竞赛的投入
input for online programming competitons
在许多在线编程竞赛(例如,codechef)中,输入有2-5行。第一行主要由测试用例的no和其他包含程序数据的行组成。例如:
输入:输入的第一行包含一个整数T,表示测试用例的数量。接下来是T个测试用例。每个的第一行测试用例包含三个空格分隔的整数N、K和Q问题中描述的。第二行包含的字符串S长度N。然后接下来的Q行描述查询,其中第i行其中包含两个空间分隔的整数Li和Ri。
1
8 2 3
01110000
1 4
2 4
58
现在假设在我的代码中,我将第一行的输入作为
cin>>no_of_case;
我运行了一个for循环,这是我在从第二行获取输入时遇到的问题。
但是正如您在input语句中看到的,第二行有3个变量输入。
如何在3个不同的变量中输入第二行
我发现的一种方法是在数组中获取输入,解析数据中的空格,并将输入分离为不同的变量。但这对长期投入来说是长期的。
以下是您可能正在寻找的算法:
使用getline(cin, no_of_case)
读取所有输入,然后使用空格(")作为分隔符拆分输入。
希望这能让你走上正轨。。。
注意:如果您计划将输入用作算术目的的数字,则可能需要将这些字符串转换回整数。
编辑:要将字符串数字转换回整数,可以使用std::stoi()
函数。在这个例子中,这样使用它:std::stoi(no_of_case)
请确保同时具有#include <iostream>
和#include <string>
,如果使用名称空间,则不需要std::
前缀。
简单修复:
cin>>N>>K>>Q;
这应该有效。。。
相关文章:
- 有一个打印语句的函数是一种糟糕的编程实践吗
- 我是C++编程的新手,这些代码之间有什么区别,我应该使用哪一个
- 模板元编程:如何将参数包组合成新的参数包
- Qt Q串行端口未编程设备未关闭
- 查找最近配对时的OpenMP竞赛条件
- 模板元编程 - 尝试实现维度分析
- 我是编程新手
- C++编程从外部文本文件定义数组大小
- 了解算法的性能差异(如果以不同的编程语言实现)
- 使用 Gtkmm 以编程方式选择 Gtk::TextView 中的文本
- 如何将可变参数模板转换为多个单个模板?(C++竞争编程调试模板)
- 使用命名空间正确编程
- C++编程:运算符重载中的引用如何工作?
- Arduino 模块化编程与全局和设置
- C++ 运算符修改/元编程策略,用于不那么冗长的语法
- 在没有管理员权限的情况下,在 c++ 中以编程方式将程序添加到启动
- 如何以编程方式将音频从任何录制设备路由到任何播放设备
- 在线编程竞赛的投入
- C++编程竞赛的阅读输入
- 通过动态规划获得字符串的所有子集-编程竞赛,面试