/*普通深度优先搜索(方法总数)模板简介*/
#include<iostream>
#include<algorithm>
#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<cmath>/*头文件,没什么好说的。*/
using namespace std;
int n,sum=0;
int a[10001];
void out(){
for(i=1;i<=n;i++)
printf("%d ",&a[i]);/*输出路径*/
sum++;/*方法总数+1*/
printf("\n");
}
void dfs(int i/*深度*/){
for(int j=1;j<=方法总数;j++){
a[i]=j;/*记录*/
if(a[i]==n/*到达目标*/)
out();/*输出结果*/
else/*未达目标*/
dfs(i+1);/*往下搜*/
a[i]=0;/*回归处理*/
}
}
int main(){
scanf("%d",&n);
dfs(1/*深度*/);
printf("%d\n",sum);
return 0;
}
#include<iostream>
#include<algorithm>
#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<cmath>/*头文件,没什么好说的。*/
using namespace std;
int n,sum=0;
int a[10001];
void out(){
for(i=1;i<=n;i++)
printf("%d ",&a[i]);/*输出路径*/
sum++;/*方法总数+1*/
printf("\n");
}
void dfs(int i/*深度*/){
for(int j=1;j<=方法总数;j++){
a[i]=j;/*记录*/
if(a[i]==n/*到达目标*/)
out();/*输出结果*/
else/*未达目标*/
dfs(i+1);/*往下搜*/
a[i]=0;/*回归处理*/
}
}
int main(){
scanf("%d",&n);
dfs(1/*深度*/);
printf("%d\n",sum);
return 0;
}