第一道用搜索码的、得纪念一下
#include <iostream>
#include <cstdio>
#include <cstring>
#include <cstdlib>
#include <string>
#include <algorithm>
using namespace std;
int n;
int visit[10], a[10];
void dfs(int pos) {
if (pos == n) { //递归出口
for (int i = 0; i<n; i++)
cout << a[i];
cout << endl;
return ;
}
for (int i = 1; i<=n; i++) {
if (!visit[i]) {
visit[i] = 1; //标记已经访问过
a[pos] = i;
dfs(pos+1); //搜索下一个数
visit[i] = 0; //回溯
}
}
}
int main() {
while (cin >> n) {
memset(visit, 0, sizeof(visit));
dfs(0);
}
return 0 ;
}