解题思路:
注意事项:
参考代码:
#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 人评分
2003年秋浙江省计算机等级考试二级C 编程题(1) (C语言代码)浏览:684 |
C语言程序设计教程(第三版)课后习题3.7 (C语言代码)浏览:1121 |
DNA (C语言描述,蓝桥杯)浏览:1555 |
1642题解浏览:715 |
1126题解浏览:595 |
图形输出 (C语言代码)浏览:945 |
矩阵转置 (C语言代码)浏览:783 |
C语言程序设计教程(第三版)课后习题8.9 (C语言代码)浏览:510 |
C语言程序设计教程(第三版)课后习题6.4 (C语言代码)浏览:1200 |
C语言程序设计教程(第三版)课后习题5.4 (C语言代码)浏览:514 |