int t=0;
int count=0;
int count=0;
int main()
{
Nqueen(8,0,0,0);
cout<<wwt::t<<endl;
{
Nqueen(8,0,0,0);
cout<<wwt::t<<endl;
return 0;
}
}
void Nqueen(int n,int row,int le,int ri)
{
int a=row,b=le,c=ri;
int i,m=1;
if(n==1)
{
for(i=0;i<8;i++)
{
if(((m<<i)&(~(le|ri|row)))!=0){t++;return;}
}
}
int i,m=1;
if(n==1)
{
for(i=0;i<8;i++)
{
if(((m<<i)&(~(le|ri|row)))!=0){t++;return;}
}
}
for(i=0;i<8;i++)
{
row=a;le=b;ri=c;
if(((~(le|ri|row))&(m<<i))!=0)
{
row=(row|(m<<i));
le=(le|(m<<i));
ri=(ri|(m<<i));
Nqueen(n-1,row,le<<1,ri>>1);
}
}
}
{
row=a;le=b;ri=c;
if(((~(le|ri|row))&(m<<i))!=0)
{
row=(row|(m<<i));
le=(le|(m<<i));
ri=(ri|(m<<i));
Nqueen(n-1,row,le<<1,ri>>1);
}
}
}