Chinaunix首页 | 论坛 | 博客
  • 博客访问: 121940
  • 博文数量: 41
  • 博客积分: 1695
  • 博客等级: 上尉
  • 技术积分: 430
  • 用 户 组: 普通用户
  • 注册时间: 2006-10-21 22:50
文章分类

全部博文(41)

文章存档

2010年(1)

2007年(23)

2006年(17)

我的朋友

分类: C/C++

2007-01-15 19:26:34


#include
#include
int count=0;
void backtrack1(int *X,int n,int k, int isused[])
{
        int i;
        for(i=0;i                if(isused[i]==0)
                {
                        X[k]=i+1;
                        isused[i]=1;
                        if(k==n-1)
                        {
                                printf("%d: ",++count);
                                for(k=0;k                                        printf("%d ",X[k]);
                                printf("\n");
                        }
                        else
                                backtrack1(X,n,k+1,isused);
                        isused[i]=0;
                }
}
int main()
{
        int a[6]={1,2,3};
        int b[6]={0};
        backtrack1(a, 6, 0,b);
        return 0;
}
阅读(922) | 评论(0) | 转发(0) |
0

上一篇:提取字符和数字

下一篇:八皇后问题

给主人留下些什么吧!~~