提交时间:2023-01-01 15:00:33

运行 ID: 3323

#include<iostream> using namespace std; bool vis[10]; int c=0,n; int a[4]; void dfs(int x){ if(x==n+1){ if(a[x-1]%2==1)c++; return; } for(int i=0;i<=n;i++){ if(i==0&&x==1)continue; if(vis[i])continue; a[x]=i; vis[i]=true; dfs(x+1); vis[i]=false; } return; } int main(){ cin>>n; dfs(1); cout<<c; return 0; }