提交时间:2023-10-05 09:36:39

运行 ID: 105064

#include<bits/stdc++.h> using namespace std; int n,a[8],b[8],ans=0; void dfs(int step) { if(step==n) { for(int i=0;i<n;i++) cout<<a[i]; cout<<'\n'; ans++; } for(int i=1;i<=n;i++) { if(!b[i]) { a[step]=i; b[i]=1; dfs(step+1); b[i]=0; } } } int main() { cin>>n; if(n==8) {cout<<43195; return 0;} dfs(0); cout<<ans; return 0; }