位运算解决N皇后问题

int t=0;
int count=0;
int main()
{
    Nqueen(8,0,0,0);
    cout<
    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<        }
    }
    for(i=0;i<8;i++)
    {
        row=a;le=b;ri=c;
        if(((~(le|ri|row))&(m<        {
            row=(row|(m<            le=(le|(m<            ri=(ri|(m<            Nqueen(n-1,row,le<<1,ri>>1);
        }
    }
}

你可能感兴趣的:(位运算解决N皇后问题)