Created
September 5, 2017 22:34
-
-
Save Xorgon/d135e46d136dad50f55d38174d014dbd to your computer and use it in GitHub Desktop.
Deserializer for Sudoku
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import numpy as np | |
def deserialize_sudoku(serialized): | |
""" | |
a b c d e f g h i | |
j k l . . . . . . | |
. . . . . . . . . | |
would be from | |
abcdefghijkl... | |
""" | |
serialized = serialized.replace(",", "") | |
if len(serialized) != 9*9: | |
print("Wrong length") | |
print(9*9 - len(serialized)) | |
return False | |
deserialized = np.zeros([9, 9], dtype=list) | |
for i in range(9): | |
for j in range(9): | |
val = int(serialized[9*j + i]) | |
if val == 0: | |
deserialized[i, j] = [1, 2, 3, 4, 5, 6, 7, 8, 9] | |
else: | |
deserialized[i, j] = val | |
return deserialized | |
hardest = deserialize_sudoku("800000000,003600000,070090200" + | |
"050007000,000045700,000100030" + | |
"001000068,008500010,090000400") |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment