2D グリッドには n 個のポイントがあります。要件は、すべてのアイテムをそのポイントに移動するコストが最小になるように、それらすべてのポイント (n-1 ポイント) から単一のポイント (n ポイントのセット内) に 1 つのアイテムを移動することです。そのような点が複数ある場合は、任意の点をランダムに選択できます。引っ越し費用は以下のように計算されます。
コスト計算式
ポイントがある場合、オブジェクトを隣接する 8 つのポイントすべて
(x,y)
に移動するのに必要なコストは 1 ユニットです。(x,y)
{(x+1,y),(x+1,y+1),(x,y+1),(x-1,y+1),(x,y-1),(x-1,y-1),(x,y-1),(x+1,y-1)}
誰かがこれに O(N) アルゴリズムを提案できますか? O(N2) アルゴリズムを試しました (各ペアを取得してコストを計算するなど)。