n皇后问题回溯法c++
时间: 2023-11-03 13:00:35 浏览: 146
回溯法-N皇后问题_N皇后回溯法C++_
回溯法是解决n皇后问题的一种常见方法。通过递归的方式尝试不同的皇后放置方式,当所有的皇后都成功放置时,一种解决方案得到了找到。具体步骤如下:
1. 创建一个长度为n的一维数组Queen,用于存储每个皇后所在的列位置。
2. 创建一个函数Check,用于判断当前位置是否可以放置皇后。遍历之前的每个皇后,检查是否在同一列或同一斜线上,如果是,则返回0;否则,返回1。
3. 创建一个递归函数eight_queen,用于尝试放置每个皇后。对于当前的行,遍历每一列,如果该位置可以放置皇后,则将列位置记录在Queen数组中。如果是最后一行,则计数器Counts加1并输出解决方案。否则,继续递归下一行。
4. 在每次递归完成后,将Queen数组中的列位置重置为0,以便重复使用。
回答完问题后,提几个
阅读全文