Skip to content

Instantly share code, notes, and snippets.

@supritashankar
Created March 18, 2014 22:43

Revisions

  1. supritashankar created this gist Mar 18, 2014.
    42 changes: 42 additions & 0 deletions sudoku
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,42 @@
    def is_valid(grid):
    if len(grid)!=81:
    return False
    for a in grid:
    val = int(a)
    if type(val)!= int or val == 0:
    return False

    k = 0
    puzzle = [[0 for x in xrange(9)] for x in xrange(9)]
    for i in range(9):
    for j in range(9):
    puzzle[i][j] = grid[k]
    k = k+1
    print puzzle

    for i in range(9):
    for j in range(9):
    if check_me(puzzle[i][j], i, j, puzzle) == False:
    return False
    return True

    def check_me(element, i, j, puzzle):
    for k in range(9):
    if puzzle[i][k] == element:
    if k == j:
    continue
    return False
    if puzzle[k][j] == element:
    if k == i:
    continue
    return False
    return True

    def check_box(element, i, j, puzzle):
    row_start = (i/3)*3
    col_start = (j/3)*3
    for i in range(row_start, row_start+3):
    for j in range(col_start, col_start+3):
    if puzzle[i][j] == element:
    return False
    return True