65 lines
2.9 KiB
Python
65 lines
2.9 KiB
Python
# olives = [(12, 15), (15, 128), (13, 314)]
|
|
# piments = [(20, 145), (16, 214), (14, 345)]
|
|
# anchois = [(18, 42), (20, 127), (12, 153), (12, 258), (15, 259), (19, 342)]
|
|
|
|
olives = [(20, 16), (14, 29), (17, 37), (13, 54), (12, 69), (18, 89), (16, 113), (11, 123), (20, 139), (20, 172), (14, 182), (17, 189), (16, 194), (19, 213), (20, 229), (20, 230), (12, 271), (11, 278), (12, 324), (19, 326), (17, 340)]
|
|
anchois = [(13, 3), (19, 14), (9, 35), (16, 40), (12, 43), (16, 55), (10, 74), (16, 78), (19, 107), (13, 109), (13, 121), (8, 136), (9, 145), (11, 154), (20, 183), (18, 198), (12, 203), (12, 209), (15, 212), (12, 214), (20, 225), (9, 247), (10, 260), (17, 261), (18, 277), (19, 288), (16, 294), (10, 306), (15, 312), (10, 332), (17, 346), (15, 350), (20, 357)]
|
|
piments = [(15, 26), (16, 30), (14, 42), (10, 53), (16, 61), (19, 84), (10, 86), (20, 129), (17, 137), (9, 159), (20, 176), (11, 177), (13, 178), (15, 181), (10, 199), (20, 200), (17, 220), (13, 228), (10, 232), (10, 237), (19, 245), (16, 249), (11, 252), (19, 290), (17, 311), (20, 349), (8, 353)]
|
|
|
|
olives = sorted([x[1] for x in olives])
|
|
piments = sorted([x[1] for x in piments])
|
|
anchois = sorted([x[1] for x in anchois])
|
|
|
|
nb_olives = len(olives)//3
|
|
nb_piments = len(piments)//3
|
|
nb_anchois = len(anchois)//3
|
|
|
|
#check that 2 condiments are never on the same angle
|
|
for i in olives:
|
|
if i in piments:
|
|
raise ValueError("piments and olives in the same angle")
|
|
if i in anchois:
|
|
raise ValueError("anchois and olives in the same angle")
|
|
for i in piments:
|
|
if i in olives:
|
|
raise ValueError("olives and piments in the same angle")
|
|
if i in anchois:
|
|
raise ValueError("anchois and piments in the same angle")
|
|
for i in anchois:
|
|
if i in piments:
|
|
raise ValueError("piments and anchois in the same angle")
|
|
if i in olives:
|
|
raise ValueError("olives and anchois in the same angle")
|
|
|
|
pizza = list()
|
|
for a in range(360):
|
|
if a in olives:
|
|
pizza.append({"olive":a})
|
|
if a in piments:
|
|
pizza.append({"piment":a})
|
|
if a in anchois:
|
|
pizza.append({"anchois":a})
|
|
|
|
def rotate(l):
|
|
return l[1:]+l[:1]
|
|
|
|
for a in range(len(pizza)):
|
|
sum = {"olive":0, "piment":0, "anchois":0}
|
|
for i in range(len(pizza)):
|
|
sum[list(pizza[i].keys())[0]] += 1
|
|
if sum["olive"] == nb_olives and sum["piment"] == nb_piments and sum["anchois"] == nb_anchois:
|
|
sum = {"olive":0, "piment":0, "anchois":0}
|
|
if sum["olive"] > nb_olives or sum["piment"] > nb_piments or sum["anchois"] > nb_anchois:
|
|
break
|
|
else:
|
|
res = a
|
|
break
|
|
pizza = rotate(pizza)
|
|
|
|
a1 = pizza[0][list(pizza[0].keys())[0]]-1
|
|
a2 = pizza[nb_olives+nb_piments+nb_anchois][list(pizza[nb_olives+nb_piments+nb_anchois].keys())[0]]-1
|
|
a3 = pizza[2*nb_olives+2*nb_piments+2*nb_anchois][list(pizza[2*nb_olives+2*nb_piments+2*nb_anchois].keys())[0]]-1
|
|
print(olives)
|
|
print(piments)
|
|
print(anchois)
|
|
print("Il faut couper en", a1, a2, a3) |