Pagini recente » Cod sursa (job #2688812) | Cod sursa (job #2822128) | Cod sursa (job #1873293) | Cod sursa (job #593450) | Cod sursa (job #2176504)
#include <iostream>
#include <fstream>
using namespace std;
void citire(int &N,int &K)
{
ifstream f("combinari.in");
f>>N;
f>>K;
}
bool eSolutie(int x[],int m,int p)
{
return m-1==p;
}
bool eValid(int x[],int m)
{
for(int i=1;i<=m-1;i++)
{
if(x[i]==x[m])
{
return false;
}
}
return true;
}
void afisare(int x[],int m)
{
ofstream out("combinari.out");
for(int i=1;i<=m-1;i++)
{
out<<x[i]<<" ";
}
out<<"\n";
}
void backtracking(int x[],int m,int N,int K)
{
if(eSolutie(x,m,K))
{
afisare(x,m);
}
else
{
for(int i=x[m-1]+1;i<=N;i++)
{
x[K]=i;
backtracking(x,m+1,N,K);
}
}
}
int main()
{
int N,K;
citire(N,K);
int x[100];
x[0]=0;
backtracking(x,1,N,K);
return 0;
}