8皇后 函数里void Print()的
#include<iostream>using namespace std;
int gQueen[8]={0},gCount=0;
void Print()
{
int r=0,c=0;
for(;r<8;r++)
{
}
cout<<"\n============="<<endl;
}
bool Check(int r,int c)
{
int r1,c1;
for(r1=0;r1<r;r1++)
{
c1=gQueen[r1];
if(r==r1)
return false;
if(c==c1)
return false;
if((c+r)==(c1+r1))
return false;
if((c-r)==(c1-r1))
return false;
}
return true;
}
void Queen(int r2)
{
int c2;
for(c2=0;c2<8;c2++)
{
if(Check(r2,c2))
{
gQueen[r2]=c2;
if(r2==7)
{
gCount++;
Print();
gQueen[r2]=0;
return ;
}
Queen(r2+1);
gQueen[r2]=0;
}
}
}
int main ()
{
Queen(0);
cout<<"总数 "<<gCount<<endl;
return 0;
}