提交时间:2023-10-28 09:39:25

运行 ID: 107763

#include<iostream> using namespace std; int n,num; int ans[101]; bool f[101]; void print(){ for(int i=1;i<=n;i++){ cout<<ans[i]; } cout<<endl; num++; } void dfs(int m){ if(m>n){ print(); } else for(int i=1;i<=n;i++){ if(f[i]==false){ f[i]=true; ans[i]=i; dfs(m+1); f[i]=false; } } } int main(){ cin>>n; dfs(1); cout<<num<<endl; return 0; }