多次元ベクトルのコピーに問題があります。多くのことを試しましたが、これが最後です。
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
再帰ごとに現在のパスを保持するというベクトルを作成しようとしています。が10回移動すると、データがからにcurrent_path
コピーされます。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