Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import math
- import sys
- from functools import reduce
- class Point:
- def __init__(self, x, y):
- self.x = x
- self.y = y
- @classmethod
- def calculate(cls, p1, p2):
- cls.distance = math.sqrt(abs(p1.x - p2.x) ** 2 + abs(p1.y - p2.y) ** 2)
- return float(cls.distance)
- number_of_points = int(input())
- all_points = []
- min_distance = sys.maxsize
- for points in range(number_of_points):
- points_coordinates = list(map(int, input().split(" ")))
- # p = Point(points_coordinates[0], points_coordinates[1])
- all_points.append(points_coordinates)
- for i in range(len(all_points)):
- for p in range(len(all_points)):
- if i == p:
- continue
- point1 = Point(all_points[i][0], all_points[i][1])
- point2 = Point(all_points[p][0], all_points[p][1])
- result = Point.calculate(point1, point2)
- if result < min_distance:
- min_distance = result
- firs_point = list(map(str, [item for item in all_points[i]]))
- second_point = list(map(str, [item for item in all_points[p]]))
- print(f"{min_distance:.3f}")
- print(f"({', '.join(firs_point)})")
- print(f"({', '.join(second_point)})")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement