八皇后问题

八皇后问题

皇后问题是一个以国际象棋为背景的问题:如何能够在 8×8 的国际象棋棋盘上放置八个皇后,使得任何一个皇后都无法直接吃掉其他的皇后?为了达到此目的,任两个皇后都不能处于同一条横行、纵行或斜线上。

(1)回溯法
#include  
#include    
#define n 8  	
int a[n];  //坐标代表皇后的行坐标,值代表皇后所在列坐标,即a[1]=2代表皇后放在第一行第二列
int count=0;   //记录放置皇后方法的数量

//判断第m个位置是否可以放置皇后,即两皇后在同行同列斜线不相邻
bool ok(int m)
{
	for(int i=0; i
 
   
 
   
 
   
 
   
 
   
 
   
 
   
 
   
 
  

你可能感兴趣的:(计算机算法设计与分析,八皇后,C语言)