Sudoku is a logic based number-placement puzzle, The objective of the puzzle is to fill a n * n grid with digits so that :-
Output :-
The above code would work for any sudoku grid, like 3 x 3, 4 x 4, 9 x 9 etc. Now next time someone asks you to check his/her solved sudoku just feed that into this program and give them the answer
, That's easy
isn't it?
- Each column of the square contains each of the numbers from 1 to n exactly once.
- Each row of the square contains each of the numbers from 1 to n exactly once.
The Code
Code: python
correct = [[1,3,2],
[2,1,3],
[3,2,1]]
incorrect = [[1,2,4,3],
[2,3,1,3],
[3,1,2,3],
[4,2,2,4]]
def check_sudoku(game):
n = len(game)
if n < 1:
return False
for i in range(0, n):
horizontal = []
vertical = []
for k in range(0, n):
#vertical check
if game[k][i] in vertical:
return False
vertical.append(game[k][i])
if game[i][k] in horizontal:
return False
horizontal.append(game[i][k])
return True
print check_sudoku(correct)
print check_sudoku(incorrect)
Output :-
Code: python
True
False
Conclusion
The above code would work for any sudoku grid, like 3 x 3, 4 x 4, 9 x 9 etc. Now next time someone asks you to check his/her solved sudoku just feed that into this program and give them the answer
, That's easy
isn't it?