A139.组合的输出
2025-08-12 21:34:47
发布于:江苏
0阅读
0回复
0点赞
注意输出格式是先输出空格再输出数字。
#include <iostream>
using namespace std;
int n, m, a[30];
bool vis[30];
//决定第x+1位上的数字
//lst是上一位上的数字
void dfs(int x, int lst) {
//递归结束
if (x == m) {
for (int i=1; i<=m; i++) {
cout << ' ' << a[i];
}cout << endl;
return;
}
//遍历可行的数字
for (int i=lst+1; i<=n; i++) {
if (!vis[i]) {
vis[i] = 1;
a[x+1] = i;
dfs(x+1, i);
vis[i] = 0;
}
}
}
int main() {
cin >> n >> m;
dfs(0, 0);
return 0;
}
这里空空如也
有帮助,赞一个