Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import random as r
- from math import sqrt
- dist = lambda x0, y0, x1, y1: sqrt((x1-x0)**2 + (y1-y0)**2)
- def solve():
- n = r.randint(5, 5)
- s = []
- for i in range(n):
- s.append([r.randint(1, 1000), (r.randint(-10, 10), r.randint(-10, 10))])
- print(*s)
- s = sorted(s)
- while len(s) > 1:
- e = s.pop()
- print(f'Max point is {e}')
- ind = min([(dist(*e[1], *e_[1]), ind) for ind, e_ in enumerate(s)])[1]
- s[ind][0] += e[0]
- print(f'Nearest point is {s[ind]}')
- s.sort()
- print()
- print(f'Finale point is {s[0]})')
- return
- print(solve())
Advertisement
Add Comment
Please, Sign In to add comment