Skip to content

Instantly share code, notes, and snippets.

@aleksanb
Created October 22, 2013 11:08
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save aleksanb/7098780 to your computer and use it in GitHub Desktop.
Save aleksanb/7098780 to your computer and use it in GitHub Desktop.
Litt mer kronglete
queen_overflow_diagonal = 0
for i in range(self.board_size): # Iterate along Y axis
row_downwards_left = row_upwards_left = row_downwards_right = row_upwards_right = 0
for j in range(self.board_size): # Iterate along diagonals
if 0 <= i + j < self.board_size:
row_upwards_left += board_matrix[i+j][j] # This takes care of the upwards diagonals
row_downwards_left += board_matrix[self.board_size - i - j - 1][j] # For the downwards diagonals
if i != 0: # To prevent double addition in the first iteration
row_upwards_right += board_matrix[j][i+j]
row_downwards_right += board_matrix[self.board_size - j - 1][i + j]
queen_overflow_diagonal += max(0, row_downwards_left - self.queens)
queen_overflow_diagonal += max(0, row_downwards_right - self.queens)
queen_overflow_diagonal += max(0, row_upwards_left - self.queens)
queen_overflow_diagonal += max(0, row_upwards_right - self.queens)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment