AcWing 842. 排列数字
原题链接
简单
作者:
HUE菜鸡联盟
,
2021-12-05 18:56:46
,
所有人可见
,
阅读 126
#include<iostream>
#include<algorithm>
#include<vector>
#include<math.h>
#include<queue>
#include<string.h>
#define for0(x,n) for(int x=0;x<n;x++)
#define for1(x,n) for(int x=1;x<=n;x++)
using namespace std;
typedef long long ll;
ll n,m,t;
const int tt=10,mod=1e9+7,INF=0x7f7f7f7f7f7f7f7f;
int vis[tt];
int a[tt];
int cnt=1;
void dfs(int x)
{
if(cnt==n+1)
{
for1(i,cnt-1)cout<<a[i]<<' ';
cout<<endl;
}
for1(i,n)
{
if(vis[i]==0)
{
a[cnt++]=i;
vis[i]=1;
dfs(x+1);
cnt--;
vis[i]=0;
}
else continue;
}
}
int main()
{
cin>>n;
dfs(1);
}