八皇后问题中计算计算某个位置上的皇后与其他皇后的冲突数c++代码
时间: 2023-05-28 20:03:27 浏览: 52
以下是Python实现:
def conflict(board, row, col):
count = 0
# 检查同一列上是否有皇后
for i in range(len(board)):
if i == row:
continue
if board[i] == col:
count += 1
# 检查左上角到右下角的对角线上是否有皇后
for i, j in zip(range(row-1, -1, -1), range(col-1, -1, -1)):
if board[i] == j:
count += 1
for i, j in zip(range(row+1, len(board)), range(col+1, len(board))):
if board[i] == j:
count += 1
# 检查右上角到左下角的对角线上是否有皇后
for i, j in zip(range(row-1, -1, -1), range(col+1, len(board))):
if board[i] == j:
count += 1
for i, j in zip(range(row+1, len(board)), range(col-1, -1, -1)):
if board[i] == j:
count += 1
return count
# 测试
board = [0, 4, 7, 5, 2, 6, 1, 3]
print(conflict(board, 3, 6)) # 输出3
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)