Вчера была олимпиада по программированию. Мое решение упало
на 40м тесте и все из-за того что я написал неправильную функцию
которая должна была определять, лежат ли четыре точки плоскости
на вершинах квадрата (по точке в каждой вершине).
В моей программе функция имеет такой прототип:
Код:
bool is_on_square(ii * xy)
где ii - это пара целых чисел. xy - вектор длины 4.
Как решить данную задачу? Я делал так, брал любую точку и вычислял расстояние
от нее до трех остальных, т. е. получил три числа. Если два из них были равны,
а квадрат третьей был равна сумме квадратов двух, то выводил да иначе нет, но
как я потом увидел это решение не всегда верно работает.
Как правильно решить данную задачу?