Pagini recente » Cod sursa (job #537307) | Cod sursa (job #2888191) | Cod sursa (job #3038211) | Cod sursa (job #1136762) | Cod sursa (job #1386723)
#include <fstream>
using namespace std;
ifstream fin("combinari.in");
ofstream fout("combinari.out");
int vec[100], n, k;
void print()
{
for (int i=1;i<=k;i++)
fout<<vec[i]<<" ";
fout<<"\n";
}
int valid(int x)
{
for (int i=1;i<x;i++)
if (vec[x]==vec[i])
return 0;
return 1;
}
void backtrack(int level)
{
int i;
vec[level]=0;
for (i=vec[level-1];i<=n;i++)
{
vec[level]=i;
if (valid(level))
{
if (level==k)
print();
else
backtrack(level+1);
}
}
}
int main()
{
vec[0]=1;
fin>>n>>k;
backtrack(1);
return 0;
}