Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
136417 | 罗嘉为 | 全排列问题 | C++ | 通过 | 100 | 162 MS | 252 KB | 458 | 2024-03-09 09:17:57 |
#include <iostream> #include <cstring> #include <iomanip> using namespace std; int n, res[110], vis[110], cnt = 0; void dfs(int cur){ if(cur == n + 1){ for(int i = 1; i <= n; i++){ cout << res[i]; } cout << endl; cnt++; return ; } for(int i = 1; i <= n; i++){ if(!vis[i]){ res[cur] = i; vis[i] = 1; dfs(cur + 1); vis[i] = 0; } } } int main(){ cin >> n; dfs(1); cout << cnt; return 0; }