1294 全排列

来源:互联网 发布:奥运知识知多少 编辑:程序博客网 时间:2024/05/17 09:27
题目描述 Description

给出一个n, 请输出n的所有全排列

输入描述 Input Description

读入仅一个整数n   (1<=n<=10)

输出描述 Output Description

一共n!行,每行n个用空格隔开的数,表示n的一个全排列。并且按全排列的字典序输出。

样例输入 Sample Input

3

样例输出 Sample Output

1 2 3

1 3 2

2 1 3

2 3 1

3 1 2

3 2 1

/*作者:mlp750303040题目:p1294 全排列*/#include<iostream>#include<cstdio>    using namespace std;int b[11]={0};int a[11]={0};int n;void dfs(int step){    if(step==n+1)    {        for(int i=1;i<=n;i++)            printf("%d ",a[i]);        printf("\n\n");        return ;    }    for(int i=1;i<=n;i++)    {        if(!b[i])        {            a[step]=i;            b[i]=1;            dfs(step+1);            b[i]=0;        }    }}int main(){    cin>>n;    dfs(1);}


原创粉丝点击