Pagini recente » Cod sursa (job #191517) | Cod sursa (job #2076628) | Cod sursa (job #1838814) | Cod sursa (job #1981243) | Cod sursa (job #1424302)
#include <iostream>
#include <fstream>
using namespace std;
fstream in("combinari.in",ios::in);
fstream out("combinari.out",ios::out);
int n,k,sfn,sfk,a[100]={};
void tipar();
int sol(int);
int succesor(int);
int valid(int);
void back(int);
int main()
{
in>>n>>k;
sfn=n;
sfk=k;
back(1);
return 0;
}
void tipar()
{
for(int i=1;i<=k;i++)
out<<a[i]<<" ";
out<<"\n";
}
int sol(int x)
{
if(x>=sfn)
return 1;
return 0;
}
int succesor(int x)
{
if(a[x]<sfn)
{
a[x]++;
return 1;
}
return 0;
}
int valid(int x)
{
for(int i=1;i<x;i++)
if(a[i]==a[x])
return 0;
return 1;
}
void back(int x)
{
if(sol(x)==1)
tipar();
else
{
while(succesor(x))
if(valid(x))
back(x+1);
sfn--;
sfk--;
}
}