@@АртёмЗахаров-ш7в если появятся какие-нибудь новые типы (идейно) 26-х, тогда будет. если нет, мб во второй половине года просто сделаю видосик с нарешкой интересных и сложных типов. и еще возможно будет видос по бинарному поиску в 26, тут тоже по ситуации)
Моя реализация Алгоритма Лёни. Особенность - считаем сразу суммы(буст ~20% к скорости кода) from math import dist a = [list(map(float, x.split())) for x in open('27_B_17882.txt')] c = [] while a: c += [[[0, a.pop()]]] for s, p1 in c[-1]: for p in a: if dist(p1, p) < 1: s = 0 for n in c[-1]: d = dist(p, n[1]) n[0] += d s += d c[-1].append([s, p]) a.remove(p) cents = [min(c1) for c1 in c] print(sum(c[1][0] for c in cents)/len(cents)*10000, sum(c[1][1] for c in cents)/len(cents)*10000)
Ну как вам? Халява? =)
Да
Метод-огонь!🔥🔥🔥 По такие же разборы по 26 задаче планируются в дальнейшем?
@@АртёмЗахаров-ш7в если появятся какие-нибудь новые типы (идейно) 26-х, тогда будет. если нет, мб во второй половине года просто сделаю видосик с нарешкой интересных и сложных типов. и еще возможно будет видос по бинарному поиску в 26, тут тоже по ситуации)
Молодцы! Спасибо большое.
Супер
Моя реализация Алгоритма Лёни. Особенность - считаем сразу суммы(буст ~20% к скорости кода)
from math import dist
a = [list(map(float, x.split())) for x in open('27_B_17882.txt')]
c = []
while a:
c += [[[0, a.pop()]]]
for s, p1 in c[-1]:
for p in a:
if dist(p1, p) < 1:
s = 0
for n in c[-1]:
d = dist(p, n[1])
n[0] += d
s += d
c[-1].append([s, p])
a.remove(p)
cents = [min(c1) for c1 in c]
print(sum(c[1][0] for c in cents)/len(cents)*10000, sum(c[1][1] for c in cents)/len(cents)*10000)
бомба! 💥