1 #include<iostream>
2 #include<stdio.h>
3 using namespace std;
4 int N,sum;
5 int m[11][11];
6 int isok(int x,int y)
7 {
8 for(int i=0;i<=x;i++)
9 if(m[i][y]==1)return 0;
10 for(int i=0;i<N;i++)
11 if(m[x][i]==1)return 0;
12 for(int i=x,j=y;i>=0&&j<N;i--,j++)
13 if(m[i][j]==1)return 0;
14 for(int i=x,j=y;i>=0&&j>=0;i--,j--)
15 if(m[i][j]==1)return 0;
16 return 1;
17 }
18 int dfs(int x,int y,int n)
19 {
20 if(n==0)
21 {
22 sum++;
23 return 1;
24 }
25 x++;
26 for(int j=0;j<N;j++)
27 if(isok(x,j))
28 {
29 m[x][j]=1;
30 n--;
31 dfs(x,j,n);
32 n++;
33 m[x][j]=0;
34 }
35 }
36 int init()
37 {
38 for(int i=0;i<11;i++)
39 for(int j=0;j<11;j++)
40 m[i][j]=0;
41 }
42 int main()
43 {
44 int a[11];
45 for(int i=1;i<11;i++)
46 {
47 sum=0;
48 init();
49 N=i;
50 dfs(0,0,i);
51 a[i]=sum;
52 //cout<<i<<"="<<a[i]<<endl;
53 }
54 while(cin>>N,N)
55 cout<<a[N]<<endl;
56 return 0;
57 }
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步