
Sudoku Game
Sudoku là một trò chơi khá phổ biến và chắc ai cũng biết. Trò chơi như sau: có một hình vuông được chia thành 9×9 ô vuông con. Mỗi ô vuông con có giá trị trong khoảng từ 1 đến 9. Ban đầu hình vuông có một số ô vuông con cho trước (có điền sẵn số) và còn lại là trống. Hãy điền các số từ 1-9 vào các ô con lại sao cho: hàng ngang là các số khác nhau từ 1 đến 9, hàng dọc là các số khác nhau từ 1 đến 9, và mỗi khối 3×3 chính là các số khác nhau từ 1 đến 9.
Hãy hoàn thành game sudoku với ma trận 9×9 được điền sẵn một vài số cho trước, những ô trống sẽ được thể hiện bằng số 0. Nếu không thể, hãy trả về hiện trạng ban đầu của sudoku
.
Ví dụ:
- Với
sudoku = [
[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]]
thìsolver_sudoku = [
[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]
,[2, 8, 7, 4, 1, 9, 6, 3, 5]
,[3, 4, 5, 2, 8, 6, 1, 7, 9]]
Đầu vào/Đầu ra:
- [Thời gian chạy] 1s với C++, 6s với Java và C#, 8s với Python, Go và JavaScript.
- [Đầu vào] Matrix of Integer sudoku
sudoku[i].Length = sudoku.Length = 9
1 <= sudoku[i][j] <= 9
- [Đầu ra] Matrix of Integers
Post Comment