#include <iostream>
using namespace std;
class Queen{
public:
Queen(){}
Queen(int i):Qnum(i){}
~Queen(){}
void SetQnum(int i){
Qnum=i;
}
void FindPos();
private:
enum{MAX=10};
int col[MAX];
int M[2*MAX];
int S[2*MAX];
int matrix[MAX][MAX];
int Qnum;
int count;
void Find(int i);
void Init();
};
void Queen::FindPos(){
Init();
Find(0);
}
void Queen::Init(){
count=0;
for(int i=0;i<MAX;++i){
col[i]=0;
for(int j=0;j<MAX;++j)matrix[i][j]=0;
}
for(i=0;i<2*MAX;++i)M[i]=S[i]=0;
}
void Queen::Find(int i){
for(int j=0;j<Qnum;++j){
if(col[j]==0&&M[i-j+Qnum-1]==0&
using namespace std;
class Queen{
public:
Queen(){}
Queen(int i):Qnum(i){}
~Queen(){}
void SetQnum(int i){
Qnum=i;
}
void FindPos();
private:
enum{MAX=10};
int col[MAX];
int M[2*MAX];
int S[2*MAX];
int matrix[MAX][MAX];
int Qnum;
int count;
void Find(int i);
void Init();
};
void Queen::FindPos(){
Init();
Find(0);
}
void Queen::Init(){
count=0;
for(int i=0;i<MAX;++i){
col[i]=0;
for(int j=0;j<MAX;++j)matrix[i][j]=0;
}
for(i=0;i<2*MAX;++i)M[i]=S[i]=0;
}
void Queen::Find(int i){
for(int j=0;j<Qnum;++j){
if(col[j]==0&&M[i-j+Qnum-1]==0&