うーん、逆にどうですか?
1. Iterate over each point.
2. Find out how close it is to its closest enemy.
3. Choose the point that is furthest from its closest enemy.
アーリーアウトには多くの可能性があります。
Within the loop store the currently furthest point.
If you are then inspecting another point and find out
it has a closer enemy, you can immediately skip to the
next point
[編集]: また、上記のようにグリッドを使用している場合は、次のことができます
1. Check if there's an enemy on the currently processed
point *before* iterating through other enemies. That way
you can exclude it as early as possible.
2. If it's a densely populated grid, consider doing a breadth-first
flood-fill starting at the current point. That might find the closest
enemy much faster than iterating though all of them.