Pagini recente » Cod sursa (job #2386459) | Cod sursa (job #662050) | Cod sursa (job #2027142) | Cod sursa (job #338703) | Cod sursa (job #2472511)
#include <iostream>
#include <fstream>
using namespace std; // COMBINĂRI
const int MAX=20;
int N,K,v[MAX] ;
int solutie(int k);
void afisare(int k);
void BK(int k);
ifstream f("combinari.in");
ofstream g("combinari.out");
int main()
{f>>N; f>>K;
BK(1);
return 0;
}
void BK(int k)
{int i;
for (i=v[k-1]+1;i<=N;i++) //la pasul k selectăm din mulţime un element mai mare decât elementul
{v[k]=i; //de pe poziţia k-1
if (solutie(k)) //nu este necesar să verificam condiţiile de continuare, ele sunt respectate
afisare(k); //datorită modului în care am selectat elementele.
else
BK(k+1);
}
}
int solutie(int k)
{if (k==K) return 1;
return 0;}
void afisare(int k)
{int i;
for (i=1;i<=k;i++) g<<v[i]<<" ";
g<<endl;
}