题目
思路
一个m个坑位,填n个数,就依次往里放就好了
同时判断一下升序,当前这个数比前一个数大就可以了
代码
cpp
#include <bits/stdc++.h>
using namespace std;
int n, m;
int ans[30];
int f[30]={0};
void dfs(int v)
{
if (v > m)
{
for (int i = 1; i <= m; i ++ )
{
cout << ans[i] << " ";
}
cout << endl;
return;
}
for (int i = 1; i <= n; i ++ )
{
if (!f[i] && i > ans[v - 1])
{
f[i] = 1;
ans[v] = i;
dfs(v + 1);
f[i] = 0;
ans[v] = 0;
}
}
}
int main()
{
cin >> n >> m;
dfs(1);
return 0;
}