From 267737745308c28687244f9a0ec4a7fabebce337 Mon Sep 17 00:00:00 2001 From: saki Date: Tue, 18 Feb 2025 20:37:30 +0800 Subject: [PATCH 1/6] Fix n-queues problem --- backtracking/n_queens.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/backtracking/n_queens.py b/backtracking/n_queens.py index 81668b17a0ac..9b0e81d884db 100644 --- a/backtracking/n_queens.py +++ b/backtracking/n_queens.py @@ -40,8 +40,7 @@ def is_safe(board: list[list[int]], row: int, column: int) -> bool: and all( board[i][j] != 1 for i, j in zip(range(row, -1, -1), range(column, -1, -1)) ) - and all(board[i][j] != 1 for i, j in zip(range(row, n), range(column, n))) - and all(board[i][j] != 1 for i, j in zip(range(row, n), range(column, -1, -1))) + and all(board[i][j] != 1 for i, j in zip(range(row, -1, -1), [column] * (row + 1)) ) ) From 86900e92c5016b21741adf10e4a831d594da5de8 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Tue, 18 Feb 2025 12:52:43 +0000 Subject: [PATCH 2/6] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- backtracking/n_queens.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/backtracking/n_queens.py b/backtracking/n_queens.py index 9b0e81d884db..f65149d245fb 100644 --- a/backtracking/n_queens.py +++ b/backtracking/n_queens.py @@ -40,7 +40,9 @@ def is_safe(board: list[list[int]], row: int, column: int) -> bool: and all( board[i][j] != 1 for i, j in zip(range(row, -1, -1), range(column, -1, -1)) ) - and all(board[i][j] != 1 for i, j in zip(range(row, -1, -1), [column] * (row + 1)) ) + and all( + board[i][j] != 1 for i, j in zip(range(row, -1, -1), [column] * (row + 1)) + ) ) From d0986a4941dde68fc25d3a1d4f05e8b9a3441830 Mon Sep 17 00:00:00 2001 From: Maxim Smolskiy Date: Thu, 20 Feb 2025 23:37:57 +0300 Subject: [PATCH 3/6] Update n_queens.py --- backtracking/n_queens.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/backtracking/n_queens.py b/backtracking/n_queens.py index f65149d245fb..b624b881c466 100644 --- a/backtracking/n_queens.py +++ b/backtracking/n_queens.py @@ -33,15 +33,15 @@ def is_safe(board: list[list[int]], row: int, column: int) -> bool: n = len(board) # Size of the board - # Check if there is any queen in the same row, column, - # left upper diagonal, and right upper diagonal + # Check if there is any queen in the same upper column, + # left upper diagonal and left lower diagonal return ( - all(board[i][j] != 1 for i, j in zip(range(row, -1, -1), range(column, n))) + all(board[i][j] != 1 for i, j in zip(range(row), [column] * row)) and all( - board[i][j] != 1 for i, j in zip(range(row, -1, -1), range(column, -1, -1)) + board[i][j] != 1 for i, j in zip(range(row - 1, -1, -1), range(column - 1, -1, -1)) ) and all( - board[i][j] != 1 for i, j in zip(range(row, -1, -1), [column] * (row + 1)) + board[i][j] != 1 for i, j in zip(range(row - 1, -1, -1), range(column + 1, n)) ) ) From b3a96933ef70e0786fba9e766a05168901f07fa5 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Thu, 20 Feb 2025 20:38:21 +0000 Subject: [PATCH 4/6] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- backtracking/n_queens.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/backtracking/n_queens.py b/backtracking/n_queens.py index b624b881c466..e079ad0d0716 100644 --- a/backtracking/n_queens.py +++ b/backtracking/n_queens.py @@ -38,10 +38,12 @@ def is_safe(board: list[list[int]], row: int, column: int) -> bool: return ( all(board[i][j] != 1 for i, j in zip(range(row), [column] * row)) and all( - board[i][j] != 1 for i, j in zip(range(row - 1, -1, -1), range(column - 1, -1, -1)) + board[i][j] != 1 + for i, j in zip(range(row - 1, -1, -1), range(column - 1, -1, -1)) ) and all( - board[i][j] != 1 for i, j in zip(range(row - 1, -1, -1), range(column + 1, n)) + board[i][j] != 1 + for i, j in zip(range(row - 1, -1, -1), range(column + 1, n)) ) ) From 30a844a150d1e92cb69ec5e56f2ecd25791f3196 Mon Sep 17 00:00:00 2001 From: Maxim Smolskiy Date: Thu, 20 Feb 2025 23:49:29 +0300 Subject: [PATCH 5/6] Update n_queens.py --- backtracking/n_queens.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/backtracking/n_queens.py b/backtracking/n_queens.py index e079ad0d0716..a207eda64f5d 100644 --- a/backtracking/n_queens.py +++ b/backtracking/n_queens.py @@ -34,7 +34,7 @@ def is_safe(board: list[list[int]], row: int, column: int) -> bool: n = len(board) # Size of the board # Check if there is any queen in the same upper column, - # left upper diagonal and left lower diagonal + # left upper diagonal and right upper diagonal return ( all(board[i][j] != 1 for i, j in zip(range(row), [column] * row)) and all( From bb3b48faea1bf5805a4ac9fa8cf6203747420385 Mon Sep 17 00:00:00 2001 From: Maxim Smolskiy Date: Thu, 20 Feb 2025 23:51:03 +0300 Subject: [PATCH 6/6] Update n_queens.py --- backtracking/n_queens.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/backtracking/n_queens.py b/backtracking/n_queens.py index a207eda64f5d..d10181f319b3 100644 --- a/backtracking/n_queens.py +++ b/backtracking/n_queens.py @@ -27,8 +27,12 @@ def is_safe(board: list[list[int]], row: int, column: int) -> bool: >>> is_safe([[0, 0, 0], [0, 0, 0], [0, 0, 0]], 1, 1) True + >>> is_safe([[0, 1, 0], [0, 0, 0], [0, 0, 0]], 1, 1) + False >>> is_safe([[1, 0, 0], [0, 0, 0], [0, 0, 0]], 1, 1) False + >>> is_safe([[0, 0, 1], [0, 0, 0], [0, 0, 0]], 1, 1) + False """ n = len(board) # Size of the board