全排列
查看提交统计提问
总时间限制: 65535ms 内存限制: 65535kB
描述
输入一个n,输出1~n之间数的全排列(n<=5)
输入
n
输出
全排列
样例输入
3
样例输出
1 2 3
1 3 2
2 1 3
2 3 1
3 2 1
3 1 2
查看 提交 统计 提问
#include <iostream>
using namespace std;
int a[100000000];
void perm(int a[],int m,int n)
{
if(m==n)
{
for(int i=0;i<=n;i++)
cout<<a[i]<<" ";
cout<<"\r\n";
}
else
{
for(int i=m;i<=n;i++)
{
swap(a[m],a[i]);
perm(a,m+1,n);
swap(a[m],a[i]);
}
}
}
int main()
{
int m;
cin>>m;
for(int i=0;i<m;i++)
a[i]=i+1;
perm(a,0,m-1);
}