反復深化検索を使用してラッシュアワーの問題を解決する必要があります。すべての移動に対して新しいノードを生成しています。すべてを計算するのに時間がかかりすぎることを除いて、すべてが正常に機能します。これは、重複したノードを生成しているためです。重複をチェックする方法はありますか?
最初にルートから開始し、次にすべての車を移動できるかどうかをチェックする方法があります。はいの場合、現在のノードから新しいノードが作成されますが、有効な移動がある1台の車が新しい座標を持つ新しい車に置き換えられます。
問題は、アルゴリズムが深くなるほど、重複する動きが増えることです。
車を交換しないようにしたのですが、ルートノードで使用したのと同じコレクションを使用しましたが、車は一方向にしか動いていませんでした。
どういうわけか車のコレクションを結ぶ必要があると思いますが、どうすればいいのかわかりません。
複製をやめる方法はありますか?
オフトピック:私はC#を初めて使用します(いくつかのチュートリアルを読んでから2日間使用しています)。それで、私が間違っていること、またはすべきでないことを教えてください。