# -*- coding: utf-8 -*- table = { 1: 1, 2: 11, 3: 110, 4: 2402, 5: 128967, 6: 16767653, 7: 5436906668, 8: 4406952731948, 9: 8819634719356421, 10: 43329348004927734247, 11: 522235268182347360718818, 12: 15436131339319739257518081878, }; N = int(raw_input()) print table[N] ''' graphillion を使ってみた。 Amazon EC2 r3.xlarge で動かした。 real 5m8.886s user 4m59.304s sys 0m9.568s メモリ: 18GBくらい ソース: from graphillion import GraphSet import networkx as nx for N in range(1, 13): universe = [] v = {} V = 0 for i in range(N+1): for j in range(i+1): v[(i, j)] = V V += 1 for i in range(N+1): for j in range(i+1): if(j+1 <= i): universe.append((v[(i, j)], v[(i, j+1)])); if(i+1 <= N): universe.append((v[(i, j)], v[(i+1, j)])); if(i+1 <= N): universe.append((v[(i, j)], v[(i+1, j+1)])); GraphSet.set_universe(universe) cycles = GraphSet.cycles() print "%d: %d" % (N, cycles.len()) '''