#include <iostream>
#include <vector>
using namespace std;
int n,m,vis[20];
vector<int> v;
void Solve(int e,int lev)
{
vis[e]=1;
v.push_back(e);
if(lev==m)
{
for(vector<int>::iterator it=v.begin();it!=v.end();++it)
it!=v.end()-1?cout<<*it<<" ":cout<<*it<<endl;
}
for(int i=1;i<=n;++i)
{
if(vis[i]==0&&i>e) Solve(i,lev+1);
}
vis[e]=0;
v.pop_back();
}
int main()
{
cin>>n>>m;
for(int i=1;i<=n;++i) Solve(i,1);
return 0;
}
A1091. 组合输出
最新推荐文章于 2020-12-13 10:58:54 发布