Несколько точек даны на оси X и несколько на оси Y. Найдите количество прямоугольных треугольников, используя указанные точки в качестве вершин.
Ваш подход хорош, просто избегайте тщательной проверки.
Поместите координаты в (га sh) карту, чтобы обеспечить почти O (1) доступ.
Для каждого фактора ^ 2 это и проверьте делители (и дополнительные) на карте.
(не более 2 * делителей для ^ 2)