commit 7bc31f4d4a349751100d670fc0d5b94f07960ff9 Author: Anson Date: Thu May 21 00:03:20 2020 -0700 init commit diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..dce41ed --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +/sudoku-rust/target +/sudoku-python/__pycache__ \ No newline at end of file diff --git a/sudoku-python/puzzles.py b/sudoku-python/puzzles.py new file mode 100644 index 0000000..d9f5975 --- /dev/null +++ b/sudoku-python/puzzles.py @@ -0,0 +1,31 @@ +import numpy as np + +# By Tim Stellmach, CC0, https://commons.wikimedia.org/w/index.php?curid=57831926 +board = np.array( + [ + [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], + ] +) + +# By en:User:Cburnett, CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=57831971 +sol = np.array( + [ + [5, 3, 4, 6, 7, 8, 9, 1, 2], + [6, 7, 2, 1, 9, 5, 3, 4, 8], + [1, 9, 8, 3, 4, 2, 5, 6, 7], + [8, 5, 9, 7, 6, 1, 4, 2, 3], + [4, 2, 6, 8, 5, 3, 7, 9, 1], + [7, 1, 3, 9, 2, 4, 8, 5, 6], + [9, 6, 1, 5, 3, 7, 2, 8, 4], + [1, 8, 7, 4, 1, 9, 6, 3, 5], + [3, 4, 5, 2, 8, 6, 1, 7, 9], + ] +) diff --git a/sudoku-python/sudoku.py b/sudoku-python/sudoku.py new file mode 100644 index 0000000..b5916a7 --- /dev/null +++ b/sudoku-python/sudoku.py @@ -0,0 +1,33 @@ +import numpy as np +from puzzles import board, sol + +# for x in board: +# print(x) + +new_board = board[::] + +for i, v in enumerate(np.reshape(new_board, (9 * 9, 1))): + row_i = i // 9 + col_i = i % 9 + row = new_board[row_i, :] + col = new_board[:, col_i] + + # print(row_i) + grid_r = row_i // 3 + + grid_c = col_i // 3 + # print(grid_r,grid_c) + grid = new_board[grid_r : grid_r + 3, grid_c : grid_c + 3] + print(grid) + + +def row_check(row, val): + return val in row + + +def col_check(col, val): + return val in col + + +def grid_check(grid, val): + return val in grid diff --git a/sudoku-rust/Cargo.lock b/sudoku-rust/Cargo.lock new file mode 100644 index 0000000..cb3e673 --- /dev/null +++ b/sudoku-rust/Cargo.lock @@ -0,0 +1,5 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +[[package]] +name = "sudoku-rust" +version = "0.1.0" diff --git a/sudoku-rust/Cargo.toml b/sudoku-rust/Cargo.toml new file mode 100644 index 0000000..5a29eb3 --- /dev/null +++ b/sudoku-rust/Cargo.toml @@ -0,0 +1,9 @@ +[package] +name = "sudoku-rust" +version = "0.1.0" +authors = ["Anson "] +edition = "2018" + +# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html + +[dependencies] diff --git a/sudoku-rust/src/main.rs b/sudoku-rust/src/main.rs new file mode 100644 index 0000000..e7a11a9 --- /dev/null +++ b/sudoku-rust/src/main.rs @@ -0,0 +1,3 @@ +fn main() { + println!("Hello, world!"); +}