Pagini recente » Cod sursa (job #129928) | Cod sursa (job #1626861) | Cod sursa (job #1237342) | Cod sursa (job #2176648) | Cod sursa (job #2126914)
#include<fstream>
using namespace std;
int n,st[100],v[10000],counter=0,m,temp;
ifstream cin("combinari.in");
ofstream cout("combinari.out");
void print(int nivel)
{
for(int i=1;i<=nivel;++i)
cout<<st[i]<<" ";
cout<<"\n";
}
bool valid(int nivel)
{
for(int i=1;i<=nivel-1;++i)
if(st[i]==st[nivel])
return false;
return true;
}
void backtr(int nivel)
{
for(int i=st[nivel-1]+1;i<=n;++i)
{
st[nivel]=v[i];
if(valid(nivel))
{
if(nivel==m)
{
print(nivel);
}
else
{
backtr(nivel+1);
}
}
}
}
int main()
{
cin>>n>>m;
for(int i=1;i<=n;i++)
{
v[i]=i;
}
backtr(1);
}