Skip to content

Instantly share code, notes, and snippets.

@supritashankar
Created March 18, 2014 22:43
Show Gist options
  • Save supritashankar/9631417 to your computer and use it in GitHub Desktop.
Save supritashankar/9631417 to your computer and use it in GitHub Desktop.
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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment