我在复制多维向量时遇到问题,我尝试了很多东西,但这是最后一个:
vector < vector < int > > a;
vector < vector < int > > b;
a.resize(10);
b.resize(10);
a[0][0] = 123;
copy( a.begin(), a.end(), back_inserter(b) );
cout << b[0][0];
我正在尝试做一个递归循环,在 10 次移动中计算网格中所有可能的路线。我正在尝试创建一个名为的向量,该向量current_path
将保存每次递归的当前路径,当current_path
10 次移动时,它会将数据从 复制current_path
到all_paths
。
网格是这样的:
0 1 2 3
4 5 6 7
8 9 10 11
12 13 14 15
您只能移动到您触摸的方格,因此您可以从 0 移动到 1、4 和 5。从 1 移动到 3、4、5、6 等。
主要思想是将 复制current_path
到下一个函数调用(递归),以便将其保持curren_path
到该点,直到它满了(10 步)。从复制current_path
到之后,all_paths
我想我必须删除current_path
?
我知道如何有效地计算所有步骤,但是我无法正确地复制和当我在 10 步时current_path
如何添加?current_path
all_paths