只有85分,使用递归层数太多了吗

wolftang 2025-05-08 11:22:29 17

#include<bits/stdc++.h>

using namespace std; const int N = 20; int a[N], m; void dfs(int x) { if (x == m) { for (int i = 0; i < m; i++) { cout << a[i] << " "; } cout << endl; return;//回溯 } for (int i = 1; i <= m; i++) { a[x] = i; dfs(x + 1); } } int main() { cin >> m; dfs(0); return 0; }

{{ vote && vote.total.up }}

共 3 条回复

root 站长

cout 输出语句要兼容 c语言的printf,所以输出比printf要慢一点。用 '\n' 来代替 endl 会更好

wolftang

cout和printf有什么区别吗?您给解释一下,谢谢~

root 站长

把cout 换成printf就可以了, 输出太多超时了