//dfs全排列
#include <cstdlib>
#include <cstdlib>
#include <iostream>
using namespace std;
int visit[100],a[100],n;
void print()
{
for (int i=1;i<=n;++i)
cout<<a[i]<<" ";
cout<<endl;
}
void dfs(int m)
{
if (m>n)
;
else
{
for (int i=1;i<=n;++i) //在当前位置试每一个数
{
if(visit[i]==0) //找到一个合适的
{
visit[i]=1; //标记i这个数被访问过
a[m]=i;
if(m==n)
print();
else
dfs(m+1); //深度遍历下一个位置
visit[i]=0;
}
}
}
}
int main()
{
n=3;
memset(visit,0,sizeof(visit));
dfs(1);
return 0;
}