Advertisement
nq1s788

27 кластеры B

Apr 20th, 2025
141
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.71 KB | None | 0 0
  1. from math import dist
  2. data = open('27Б.txt').readlines()
  3. cluster = [[], [], []]
  4. for i in range(len(data)):
  5.     x, y = map(float, data[i].replace(',', '.').split())
  6.     if x > 4:
  7.         cluster[0].append((x, y))
  8.     elif y < 2.5:
  9.         cluster[1].append((x, y))
  10.     else:
  11.         cluster[2].append((x, y))
  12. cen = []
  13. for i in range(3):
  14.     best_rst = 10000000000
  15.     c = (-1, -1)
  16.     for cur_c in cluster[i]:
  17.         rst = 0
  18.         for k in cluster[i]:
  19.             rst += dist(cur_c, k)
  20.         if rst < best_rst:
  21.             c = cur_c
  22.             best_rst = rst
  23.     cen.append(c)
  24. 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