八皇后源码

来源:互联网 发布:服装裁剪排版软件 编辑:程序博客网 时间:2024/04/28 16:58
#include<iostream>#include<cstring>using namespace std;#define MAX 8int queen_array[MAX][MAX];static int NUM=0;void print(){  int i,j;  for(i=0;i<MAX;i++)    {      for(j=0;j<MAX;j++)cout<<queen_array[i][j]<<" ";      cout<<endl;    } }bool check(int row,int col){  int i,j;  for(i=row-1,j=col;i>=0;i--)    if(1==queen_array[i][j]) return false;  for(i=row-1,j=col-1;i>=0&&j>=0;i--,j--)    if(1==queen_array[i][j]) return false;  for(i=row-1,j=col+1;i>=0&&j<MAX;i--,j++)    if(1==queen_array[i][j]) return false;  return true;}void put(int row,int col){  if(check(row,col))   {     queen_array[row][col]=1;     if(row>=MAX-1)       { NUM++; cout<<"the "<<NUM<<" method:"<<endl; print(); cout<<"***************************"<<endl;       }     else       { put(row+1,0);       }    queen_array[row][col]=0;   } if(col<MAX-1) put(row,col+1);}int main(){      memset(queen_array,0,sizeof(int)*MAX*MAX);      put(0,0);    return 1;}

原创粉丝点击