Pagini recente » Cod sursa (job #1765086) | Cod sursa (job #907352) | Cod sursa (job #1227633) | Cod sursa (job #529078) | Cod sursa (job #557924)
Cod sursa(job #557924)
#include<fstream>
#include<algorithm>
using namespace std;
ifstream fi("combinari.in");
ofstream fo("combinari.out");
int n,sol[20],k,l,a,s=0,x[1000];
bool valid()
{
l=0;
for(int i=1; i<=n; i++)
if(sol[i])
l++;
if(l==k)
return 1;
return 0;
}
void scrie()
{
int aux=0;
sort(x,x+s);
for(int i=0; i<=s; i++)
{
aux=0;
while(x[i])
{
aux=aux*10+x[i]%10;
x[i]/=10;
}
x[i]=aux;
}
;
for(int i=0; i<=s; i++)
{
aux=0;
while(x[i])
{
fo<<x[i]%10<<" ";
x[i]/=10;
}
fo<<'\n';
}
}
void afisare()
{
a=0;
for(int i=1; i<=n; i++)
if(sol[i])
a=a*10+i;
x[s]=a;
s++;
}
void back(int pas)
{
if(pas>n)
{
if(valid())
afisare();
return;
}
sol[pas]=0;
back(pas+1);
sol[pas]=1;
back(pas+1);
}
int main()
{
fi>>n>>k;
back(1);
scrie();
fi.close();
fo.close();
return 0;
}