程序中的输入和输出
Input and Output in program
我的程序中的输入和输出有问题。
我无法确保每匹马的BFS响应是分开的,最后总结了给定数量示例的所有马的BFS响应。
对于此示例,一切正常:
- 1- 示例数
- 1 - 国际象棋骑士的数量 5
- 5 - 起点
- 5 6 - 最后一点
答案: 3
但不是这个例子:
- 1- 示例数
- 2 - 国际象棋骑士的数量 0
- 0 - 第一个骑士的起点
- 1 0 - 第二骑士的起点
- 0 1 - 第一个骑士的最后一点 1
- 1 - 第二骑士的最后一点
我需要对第一匹马和第二匹马的答案(BFS(进行总结(第一匹= 2,第二匹= 2,所有马= 4(。但是如果你使用我的代码(下面(检查这个例子,那么答案是 3,程序只考虑第一匹马。
这是我的代码:
int main()
{
int number_of_examples;
cin >> number_of_examples; //number of examples
for (int i = 1; i <= number_of_examples; i++) {
int number_of_horse;
cin >> number_of_horse; //number of horse
vector<Node> src;
vector<Node> dest;
int x, y;
for (int i = 1; i <= number_of_horse; i++)
cin >> x >> y;
src.push_back(Node(x, y));
for (int i = 1; i <= number_of_horse; i++)
cin >> x >> y;
dest.push_back(Node(x, y));
for (int i = 0; i < src.size(); i++)
{
for (int j = 0; j < dest.size(); j++)
{
cout << BFS(src[i], dest[j]);
}
}
}
return 0;
}
程序只考虑第一匹马
正如你告诉它的那样...
for (int i = 1; i <= number_of_horse; i++)
cin >> x >> y;
src.push_back(Node(x, y));
仅重复for
后的第一行。如果你想(我敢打赌你(重复多个语句,你需要把它们括在一个块中:
for (int i = 1; i <= number_of_horse; i++) {
cin >> x >> y;
src.push_back(Node(x, y));
}
您可能想阅读有关for
语法的更多信息。
相关文章:
- 如何使用 < 和 > 命令获取 c++ 中的输入和输出?
- 创建一个函数以在输入为负数或零时输出字符串.第一次执行用户定义的函数
- 输入到文件并输出到另一个文件,并将流文件传递给函数
- 在while循环中输入带有std::cin的字符串后,控制台会输出大量胡言乱语
- 更改.cpp程序的输入文件中数据的位置会意外更改输出
- C++,在int数组中输入字符串或字符会输出0,而不是ascii或error
- C++多个输入和输出
- 制定带有输入和输出C++的时间表
- 字符的输入/输出操作
- 如何读取单个字符并在输入两个字符序列时输出? 使用 while 循环和C++
- 遇到此问题时遇到困难:允许用户输入数组的值并使用 for,而循环也输出输入的最大数字
- 在数组中输入 n 个整数的列表,并以类似于钟摆来回移动的方式排列它们. 输入-1 3 2 5 4,输出5 3 1 2 4
- C++ 中的矢量重复输出输入
- 类中的重载函数(Students())是输出输入的信息,但它不起作用
- 函数以相反的顺序输出输入问题,并改进算法以解释相等的数字
- 在输出输入文本时对齐输入的文本
- 将多个文件输出/输入到桌面
- 输出输入c++的最短方式
- 将Crypto++中自动种子PNRG的输出输入一个字符串
- 输出输入的拼接版本