解题思路:
注意事项:
参考代码:
#include<stdio.h>
int n,sum;
int a[21],b[21];
void dfs(int k)
{
int i,j,l,p;
if(k>n)
{
sum++;
return ;
}
for(i=1;i<=n;i++)
{
if(b[i]==0&&i!=a[k]) //notice
{
b[i]=1;
dfs(k+1);
b[i]=0;
}
}
}
int main()
{
int i,j;
while(scanf("%d",&n)!=EOF)
{
for(i=1;i<=n;i++)
{
a[i]=i;
b[i]=0;
}
sum=0;
dfs(1);
printf("%d\n",sum);
}
}
0.0分
0 人评分
C语言程序设计教程(第三版)课后习题11.1 (C语言代码)浏览:623 |
Wu-求圆的面积 (C++代码)浏览:1883 |
三角形 (C++代码)递推浏览:755 |
WU-C语言程序设计教程(第三版)课后习题12.1 (C++代码)浏览:919 |
C语言程序设计教程(第三版)课后习题1.5 (C语言代码)浏览:1067 |
2^k进制数 (C语言描述,蓝桥杯)浏览:1420 |
1048题解(读入回车问题)浏览:554 |
小九九 (C语言描述,不看要求真坑爹)浏览:984 |
Tom数 (C语言代码)浏览:525 |
C语言程序设计教程(第三版)课后习题9.3 (C语言代码)浏览:593 |