Example #1
0
def valid_grid() -> Grid:
    return Grid([
        [5, 3, 0, 0, 7, 0, 0, 0, 0],
        [6, 0, 0, 1, 9, 5, 0, 0, 0],
        [0, 9, 8, 0, 0, 0, 0, 6, 0],
        [8, 0, 0, 0, 6, 0, 0, 0, 3],
        [4, 0, 0, 8, 0, 3, 0, 0, 1],
        [7, 0, 0, 0, 2, 0, 0, 0, 6],
        [0, 6, 0, 0, 0, 0, 2, 8, 0],
        [0, 0, 0, 4, 1, 9, 0, 0, 5],
        [0, 0, 0, 0, 8, 0, 0, 7, 9],
    ])
Example #2
0
def solved_grid() -> Grid:
    return Grid([
        [2, 4, 9, 6, 5, 8, 3, 7, 1],
        [1, 3, 6, 2, 7, 9, 5, 8, 4],
        [7, 5, 8, 3, 1, 4, 2, 9, 6],
        [4, 8, 7, 9, 3, 5, 6, 1, 2],
        [3, 9, 2, 1, 6, 7, 4, 5, 8],
        [5, 6, 1, 4, 8, 2, 7, 3, 9],
        [9, 1, 3, 7, 4, 6, 8, 2, 5],
        [6, 2, 5, 8, 9, 3, 1, 4, 7],
        [8, 7, 4, 5, 2, 1, 9, 6, 3],
    ])
Example #3
0
 def __enter__(self):
     g = Grid(grid=self.grid)
     return g
Example #4
0
]

expert2 = [
    [0, 0, 0, 0, 7, 0, 0, 0, 0],
    [0, 1, 0, 5, 0, 0, 8, 0, 0],
    [0, 0, 0, 0, 0, 1, 6, 4, 9],
    [0, 0, 8, 1, 0, 0, 0, 0, 0],
    [0, 0, 0, 3, 0, 0, 0, 0, 0],
    [0, 9, 0, 2, 0, 4, 0, 5, 3],
    [0, 0, 4, 0, 0, 0, 1, 0, 0],
    [0, 7, 3, 0, 0, 0, 9, 0, 0],
    [0, 0, 0, 0, 2, 0, 0, 0, 0],
]


def str_to_array(s):
    out = []
    ints = map(int, s)
    for i in range(0, 9):
        out.append(ints[i * 9:i * 9 + 9])
    return out


expert3 = str_to_array(
    "000000000801000340006400800004210000000030002100600079000008000600000054900002007"
)

generated = Grid(generate=True)
generated.exclusive_subgroups()
generated.manual_solve()