Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #https://inf-ege.sdamgia.ru/problem?id=70554 файл B
- from math import dist
- data = open("demo_2025_27_Б.txt").readlines()[1:]
- n = len(data)
- for i in range(n):
- data[i] = list(map(float, data[i].replace(',', '.').split()))
- cen = [(1.0, 1.0), (7.0, 5.0), (3.0, 9.0)]
- for i in range(10):
- cl = [[], [], []]
- for e in data:
- rst = [dist(e, cen[0]), dist(e, cen[1]), dist(e, cen[2])]
- cl[rst.index(min(rst))].append(e) #находим индекс минимума в рст и туда кладем точку
- for i in range(3):
- c = (-1, -1)
- mn_rst = 1000000000
- for cur_c in cl[i]:
- cur_rst = 0
- for e in cl[i]:
- cur_rst += dist(cur_c, e)
- if cur_rst < mn_rst:
- mn_rst = cur_rst
- c = cur_c
- cen[i] = c
- print(int(((cen[0][0] + cen[1][0] + cen[2][0]) / 3) * 10000), int(((cen[0][1] + cen[1][1] + cen[2][1]) / 3) * 10000))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement