64,642
社区成员
发帖
与我相关
我的任务
分享
#include<iostream>
#include<vector>
#define MAX 10
using namespace std;
int n; //È«ÅÅÁÐ1~n
vector<int> num;
//int num[MAX];
bool visited[MAX] = {false};
int count = 0;
void dfs( int step )
{
int i;
if( step == n+1 )
{
for( int k = 1 ; k <= n ; k ++ )
cout << num[k];
cout << endl;
count ++;
return ;
}
for( i = 1 ; i <= n ; i ++ )
{
if( !visited[i] )
{
visited[i] = true;
num[step] = i;
dfs( step + 1 );
visited[i] = false;
}
}
}
int main()
{
cin >> n;
dfs(1);
cout << "count = " << count << endl;
return 0;
}