import math
# Таблица данных
data = [
{"Код": 1, "R": 3, "C": 1},
{"Код": 2, "R": 6, "C": 8},
{"Код": 3, "R": 1, "C": 2},
{"Код": 4, "R": 8, "C": 6},
{"Код": 5, "R": 3, "C": 3},
{"Код": 6, "R": 8, "C": 5}, # Объект с повторяющимися значениями
{"Код": 7, "R": 8, "C": 5}, # Объект с повторяющимися значениями
{"Код": 8, "R": 9, "C": 11},
{"Код": 9, "R": 4, "C": 6}
]
# Координаты центров кластеров
center_A = [9, 10] # x=9, y=10
center_B = [4, 6] # x=4, y=6
def distance(x1, y1, x2, y2):
"""Евклидово расстояние между двумя точками"""
return math.sqrt((x1 - x2)**2 + (y1 - y2)**2)
count_A = 0
count_B = 0
for obj in data:
dist_to_A = distance(obj["R"], obj["C"], center_A[0], center_A[1])
dist_to_B = distance(obj["R"], obj["C"], center_B[0], center_B[1])
# Округляем расстояния вниз перед сравнением
if round(dist_to_A) < round(dist_to_B):
count_A += 1
else:
count_B += 1
print(f"Количество объектов в кластере А: {count_A}")
print(f"Количество объектов в кластере Б: {count_B}")