#include <iostream>
#include <vector>
using namespace std;
void f(int m, vector<int> vec, vector<int>& sd, size_t& count)
{
if (m == 1)
{
for (int i = 0; i<vec.size(); i++)
{
count++;
cout << count << ":";
for (int k = 0; k<sd.size(); k++)
cout << sd[k] << " ";
cout << vec[i] << " " << endl;
}
}
else
{
for (int i = 0; i<vec.size(); i++)
{
sd.push_back(vec[i]);
vector<int> temp;
for (int j = i + 1; j<vec.size(); j++)
{
temp.push_back(vec[j]);
}
f(m - 1, temp, sd, count);
sd.pop_back();
}
}
}
int main(int argc, char* argv[])
{
if (argc != 3)
return 0;
vector<int> vec;
for (int i = 0; i<atoi(argv[1]); i++)
vec.push_back(i + 1);
vector<int> sd;
size_t count = 0;
f(atoi(argv[2]), vec, sd, count);
return 0;
}
网友评论