提交时间:2023-09-29 09:18:52

运行 ID: 104509

#include<bits/stdc++.h> using namespace std; int n,ans[9],cnt; bool b[9]; void dfs(int depth){ if(depth==n){ for(int i=1;i<n;i++){ cout<<ans[i]; } for(int i=1;i<=n;i++){ if(!b[i])cout<<i; } cout<<endl; cnt++; return; } for(int i=1;i<=n;i++){ if(!b[i]){ ans[depth]=i; b[i]=1; dfs(depth+1); b[i]=0; } } } int main(){ cin>>n; dfs(1); cout<<cnt; return 0; }