◂ 13 décembre 2015 ▸
Knights of the Dinner Table :
- code.py
input = ((0,2,1), (0,26,2), (0,-82,3), ... (7,-73,5), (7,-89,6))
PARTIE = 1
# PARTIE = 2
if PARTIE == 1:
N = 8
else:
N = 9
points = N*[None]
for i in range(N):
points[i] = N*[0]
for t in input:
points[t[0]][t[2]] += t[1]
points[t[2]][t[0]] += t[1]
print(points)
def score(perm, points):
tot = 0
for i in range(1, len(perm) + 1):
#print(i % len(perm), i-1, len(perm))
#print(" ", perm[i % len(perm)], perm[i-1], len(points))
tot += points[perm[i % len(perm)]][perm[i-1]]
return tot
import itertools
best = None
bestP = None
for p in itertools.permutations(range(N-1)):
p = p + (N-1,)
s = score(p, points)
if best == None or s > best:
best = s
bestP = list(p)
print(best, bestP)