Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
136435 | 黄恩宁 | 全排列问题 | C++ | 通过 | 100 | 164 MS | 244 KB | 424 | 2024-03-09 09:26:50 |
#include<iostream> #include<cstdio> using namespace std; bool flag[10]; int n,d[10]; void dfs(int k) { int i; if(k==n+1) { for(i=1;i<=n;i++) cout<<d[i]; cout<<endl; return; } for(i=1;i<=n;i++) if(flag[i]==false) { flag[i]=true; d[k]=i; dfs(k+1); flag[i]=false; } return; } int main() { int i; cin>>n; dfs(1); for(i=n-1;i>=2;i--) n=n*i; cout<<n; return 0; }