Sobes.tech
Junior — Middle+
50

Определение наличия вертикальной оси симметрии для набора точек

Условие задачи

Дан массив точек, каждая из которых задаётся целочисленными координатами (x, y). Требуется выяснить, существует ли вертикальная прямая, такая что все точки, не лежащие непосредственно на этой прямой, можно разбить на две группы, являющиеся зеркальными отражениями друг друга относительно найденной прямой. Группы считаются зеркальными, если каждая точка из исходного массива имеет ровно одну соответствующую ей точку из другой группы, расположенную на одинаковом расстоянии от оси и с противоположным знаком по координате x.

def has_vertical_symmetry(pts: list[tuple[int, int]]) -> bool:
    ...