【文件属性】:
文件名称:C++经典 八皇后问题
文件大小:2KB
文件格式:CPP
更新时间:2012-12-17 08:38:38
八皇后
C++经典
八皇后问题的C++源程序
#include
#define N 8
void main()
{
void move(int a[][N],int n);
int Judge(int a[][N]);
//a[N][N]表示棋盘,每个元素表示一个位置,为0表示没有放置皇后,为1表示放置皇后
//num记录摆放方法的数目
int a[N][N]={0},i,j,n=0,num=0;
//初始条件,让每个皇后都处于每行的第一列
for(i=0;i1)
return(0);
//同行就不用判断了,因为赋初值时,每行只有一个皇后
//判断是不是在同一对角线上
//左上
for(x=i-1,y=j-1;x>=0&&y>=0;x--,y--)
if(a[x][y])
return(0);
//右下
for(x=i+1,y=j+1;x=0&&y=0;x++,y--)
if(a[x][y])
return(0);
}
}
return(1);
}
//将第n行的皇后向后移动一个位置
void move(int a[][N],int n)
{
int j;
for(j=0;j