我给了2个数组,输入和输出数组.目标是通过将给定步骤中的1值移位到其相邻元素,将输入数组转换为输出数组.例如:输入数组为[0,0,8,0,0],输出数组为[2,0,4,0,2].这里第一步是[0,1,7,0,0],第二步是[0,1,6,1,0],依此类推.
什么算法可以有效地做到这一点?我在考虑执行BFS,但后来我们必须从每个元素做BFS,这可能是指数级的.有谁能建议解决这个问题?
我正在编写一个程序,其中有一些操作正在浮点数上执行.在我调试程序之后,我开始知道对于特定的测试用例,该值的值variable equals -2.38418579e-07.现在我将cout精度设置为小数点后的2位数.因此,当我打印它时,它打印为-0.00.
但是,我希望输出为0.00而不是-0.00.我已经尝试if了变量值的各种条件.但是,他们没有帮助.任何人都可以建议如何在C++中摆脱-0.00
我的结构如下:
struct Vertex{
list<int> q;
};
Run Code Online (Sandbox Code Playgroud)
我创建了一个大小为10的数组,如下所示:
Vertex *ver = (Vertex*) malloc(10 * sizeof(Vertex));
Run Code Online (Sandbox Code Playgroud)
现在我想在列表中插入.我很难搞清楚为什么会出现分段错误:
ver[1].q.push_back(10);
Run Code Online (Sandbox Code Playgroud)
有人可以解释这里有什么问题吗?