私は最近C++、特にSTLについて読んでいて、KnightsTourの問題をもう一度やり直すことにしました。私はこれを実装するための最良の方法を考えています、そして私はいくつかの助けを探しています。
楽しみと練習のために、「ナイト」クラスから継承できる「ピース」基本クラスから始めようと思いました。後で他のピースを追加してみることができるように、これを実行したいと思います(ほとんどのピースがボード全体をウォークオーバーして問題を完了することはできませんが)。
したがって、「ピースクラス」には、ボード上のピースの座標と、その特定のステップで行った移動の数を格納するための、ある種のコンテナが必要になります。
これを最も効率的に行うには、x、y、およびmovesを含む64(8 * 8)の場所を持つリンクリストが必要だと思います。
STLコンテナを見ると、複数のタイプを保持するマップ以外は見つかりません。
1つのコンテナに移動数の座標ペアとintを格納するにはどうすればよいですか?ベクトル、リスト、またはマップを使用するよりも効率的な方法はありますか?カスタムコンテナが必要ですか?
ありがとう!