from graphillion import GraphSet import graphillion.tutorial as tl def tri(n): return n*(n+1)/2 def pos(r,c): return int(tri(r)+c) def a(n): if n == 1: return 1 u=[] for r in range(n-1): for c in range(r+1): u.append((pos(r,c), pos(r+1,c))) u.append((pos(r,c), pos(r+1,c+1))) u.append((pos(r+1,c), pos(r+1,c+1))) GraphSet.set_universe(u) start, goal = 0, pos(n-1, 0) paths = GraphSet.paths(start, goal) return paths.len() for n in range(13): print (n+1, a(n+1))