Пример #1
0
from SudokuBoard import SudokuBoard

def cross(A, B):
    "Cross product of elements in A and elements in B."
    return [a+b for a in A for b in B]

if __name__ == "__main__":

    easy = SudokuBoard("..3.2.6..9..3.5..1..18.64....81.29..7.......8..67.82....26.95..8..2.3..9..5.1.3..")
    print "This is an easy puzzle ..."
    print easy.pretty_initial_state()
    easy.solve()
    print easy.pretty()
    print "done"

    hard = SudokuBoard("4.....8.5.3..........7......2.....6.....8.4......1.......6.3.7.5..2.....1.4......")
    print "This is a very HARD puzzle ..."
    print hard.pretty_initial_state()
    hard.solve()
    print hard.pretty_values()
    print "done"