Войти
или
Зарегистрироваться
Курсы
Учебник
Учебник 2.0
ОГЭ/ЕГЭ
Олимпиады
Рубрикатор
Компилятор
Статья Автор:
Богатов Георгий
я решаю 27
def evk(p1, pos): return ((p1[0] - pos[0])**2 + (p1[1] - pos[1])**2)**0.5, pos name = '' f= open(name) arr = [] while g:= f.readline(): arr.append(list(map(int, g.split()))) d1 = [] d2 = [] d3 = [] dots = [d1, d2, d3] ss = {d1:[], d2:[], d3:[]} for i in arr: dis, ans = min([[evk(i, pos), pos] for pos in dots]) ss[ans].append(i) def poisk_c(arr): min_dis = float('+inf') ans = -1 for i in arr: dis = 0 for j in arr: dis += evk(i, j)[0] if dis < min_dis: min_dis = dis ans = i return ans arr_c = [] for i in ss: arr_c.append(poisk_c(ss[i])) x = 0 y = 0 for i in arr_c: x += i[0] y += i[1] x = x / len(arr_c) * 1000 y = y / len(arr_c) * 1000 comp ege
×
Чтобы оставить комментарий нужна авторизация
Печать