def adjacency_matrix(self):
     return M.pairs(self.results.r(),self.N)
if __name__ == "__main__":
    if len(sys.argv[1:]) == 2:
        # accept command line args
        n,k = map(int,sys.argv[1:])
    else:
        # otherwise use hardcoded args
        n = 32
        k = 22

    min_t_k = MinTimesK(n,k)
    min_t_k.solve()

    r = min_t_k.results.subsets

    print "Subsets:"
    print M.build(r)
    print

    print "Pairs:"
    m_pairs = M.pairs(r,n)
    max_num = 0
    for i,row in enumerate(m_pairs.rows):
        val = max(i,max(row))
        max_num = max(max_num, len(str(val)))

    for i,row in enumerate(m_pairs.rows):
        print "%s: %s" % (str(i).rjust(max_num), str(row[:(i+1)]).ljust(max_num))
    print

    print "min_times_k = %i" % min_t_k.results.min_times_k()