Problem1501--【搜索基础】全排列问题

1501: 【搜索基础】全排列问题

Time Limit: 1.000 Sec  Memory Limit: 128 MB
Submit: 686  Solved: 354
[Submit] [Status] [Web Board] [Creator:]

Description

全排列问题 form.pas/c/cpp

  输出自然数1~n所有不重复的排列,即n的全排列,要求所产生的任一数字序列中不允许出现重复数字。
[输入格式]  
   1<=n<=9
[输出格式]
   由1~n组成的所有不重复的数字序列。每行一个序列
[输入样例]
3
[输出样例]
1 2 3
1 3 2
2 1 3
2 3 1
3 1 2
3 2 1








Sample Input



Sample Output



HINT

#include<bits/stdc++.h>
using namespace std;
int n,a[100];
int b[10]={0};
void dfs(int x)
{
if(x>n)
{
for(int i=1;i<=n;i++)
  cout<<a[i]<<" ";
  cout<<endl;
}
for(int i=1;i<=n;i++)
{
if(b[i]==0)
{
a[x]=i;
b[i]=1;
dfs(x+1);
a[x]=0;
b[i]=0;
}


}
int main()
{
cin>>n;
dfs(1);
}

Source/Category


[Submit] [Status]