1到n连续的n个数 输入m 得出m个有序序列
比如 输入为n=5 ,m=3 则输出
543 542 541 532 531 521 432 431 421 321
当前长度为i,每个位上的取之范围为start ~ m - i,可以使用backtracking解决
void helper(int n, vector<int>&res, int num, int len)
{
if(len == num)
{
for(int i=; i < len; ++i)
{
printf("%d",res[i]);
}
printf("\n");
}
else
{ int end = len - num;
for(int i = n; i >= end; --i)
{
res.push_back(i);
helper(i-, res, num + , len);
res.pop_back();
}
}
}
void fun(int n, int m)
{
vector<int> res;
helper(n, res, , m);
}