】`#include <stdio.h>
int queen[10][10]={0};
int size;
int cnt=0;
int judge(int row, int col)
{
int flag=1, i;
for(i=0; i<row && flag; i++){
if(queen[col]==1)
flag=0;
}
for(i=1; row-i>=0 && col-i>=0 && flag; i++){
if(queen[row-i][col-i]==1)
flag=0;
}
for(i=1 ; row-i>=0 && col+i<size && flag; i++){
if(queen[row-i][col+i]==1)
flag=0;
}
return flag;
}
void solve(int row)
{
int i;
if(row>=size) cnt++;
else{
for(i=0; i<size ;i++)
if(judge(row,i)){
queen[row]=1;
solve(row+1);
queen[row]=0;
}
}
}
int main()
{
scanf("%d",&size);
solve(0);
if(cnt != 0) printf("%d", cnt);
else printf("无解");
return 0;
}`