Одна из задач на геометрию с регионального этапа Всероссийской олимпиады школьников 2009 года, в которой используется интересная идея и совсем немного комбинаторики. Точек довольно много, чтобы перебрать все тройки и проверить, составляют ли они равнобедренный треугольник. Такое решение на олимпиаде набирало 40 баллов из 100. Давайте для начала будем перебирать лишь одну вершину - противоположную основанию. Если теперь выделить множество вершин, равноудалённых от выбранной, то все их попарные комбинации будут образовывать основание равнобедренного треугольника. С одним лишь исключением, что этот треугольник может быть вырожденным, если все три точки окажутся на одной прямой. В решении будем использовать всю мощь стандартной библиотеки, к тому же удобно сделать подстановку x и y вместо first и second (как мы уже делали в задаче 628): Считывание данных благодаря подстановкам очень читаемо: Основное решение тоже довольно короткое. Стоит обратить внимание на используемый тип long long для