提交时间:2024-03-09 09:29:43

运行 ID: 136452

#include<bits/stdc++.h> using namespace std; int n,a[30]={0},use[30]={0}; int cnt=0; void dfs(int k){ if(k==n){ for(int i=1;i<=k;i++){ cout<<a[i]; } cnt++; cout<<"\n"; return; } for(int i=1;i<=n;i++){ if(use[i]==0){ use[i]=1; a[k+1]=i; dfs(k+1); use[i]=0; } a[k+1]=0; } } int main(){ cin>>n; dfs(0); cout<<cnt; return 0; }