Różne losowe punkty z dwuwymiarowej siatki

Mam dużą dwuwymiarową siatkę, powiedzmy 10000 X 10000. Z tych siatek muszę wybrać 1000 losowych punktów, ale muszę też zadbać o to, aby żaden z dwóch punktów nie był taki sam. Standardowy sposób, który przychodzi mi do głowy, to po wybraniu każdego punktu powinienem sprawdzić wszystkie poprzednie wpisy, aby zobaczyć, czy ten punkt został już wybrany, czy nie, ale wydaje się, że duże siatki i duża liczba punktów stanie się nieefektywna. Czy jest na to lepszy sposób? Używam C ++

questionAnswers(3)

yourAnswerToTheQuestion