#include "stdafx.h"
#include <algorithm>
#include <iostream>
using namespace std;
int q[8][8]={0};
int colum[8]={0};
int cl[8]={0};
int lc[8]={0};
void output()
{
for(int i=0;i<8;++i)
{
copy(q[i],q[i]+sizeof(q[i])/sizeof(int),ostream_iterator<int>(cout," "));
cout<<endl;
}
}
void queen(int step,int &c)
{
if(step==8) //得到答案
{
cout<<"("<<++c<<")"<<endl;
output();
return;
}
for(int i=0;i<8;++i)
{
if(colum[i]==0 && cl[step-i+7]==0 && lc[step+i]==0)//不冲突
{
colum[i]=1;//凡走过必留下痕迹
cl[step-i+7]=1;
lc[step+i]=1;
q[step][i]=1; <