Mobile Coverage Mobile Coverage

The goal of this challenge is to find the best spots to put a number of given antennae so that they provide coverage to as many nearby villages as possible. Every antenna has a given range r and it provides coverage to every village that falls into this range.

Input: Four arguments. An array of the coordinates of N villages as rows, the range of each antenna, the number of antennae, the possible positions of the antennae.

Output: An array with the coordinates of the final antennae positions as rows.


    np.array([[5,6], [2,7], [8,2], [5,1], [9,0], [3,7], [6,4]]),
    3, 2,
    np.array([[0,5], [2,2], [4,0], [4,5], [6,3], [8,6], [9,3], [9,7]])
) == np.array([[6, 3], [4, 5]])