Enable Javascript in your browser and then refresh this page, for a much enhanced experience.
Faster, recursive solution in Uncategorized category for Numbered Triangles by Juge_Ti
def checkio(data):
l = tuple(data[0])
return max(solve(set(map(tuple, data[1:])), [first])
for first in (l, (l[2], l[0], l[1]), (l[1], l[2], l[0])))
def solve(undone, done):
if not undone:
return sum(chip[1] for chip in done) if done[5][2] == done[0][0] else 0
last = done[-1][2]
s = 0
for chip in undone:
if last in chip:
newundone = undone.copy()
i = chip.index(last)
newundone.remove(chip)
test1 = solve(newundone, done + [(chip[i], chip[i-1], chip[i-2])])
test2 = solve(newundone, done + [(chip[i], chip[i-2], chip[i-1])])
s = max(s, test1, test2)
return s
Oct. 7, 2013
Comments: