提交时间:2023-09-29 10:50:32
运行 ID: 104513
#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; }