Pagini recente » Cod sursa (job #562833) | Cod sursa (job #2785640) | Cod sursa (job #1611318) | Cod sursa (job #562376) | Cod sursa (job #2227478)
#include <fstream>
using namespace std;
ifstream inputfile("combinari.in");
ofstream outputfile("combinari.out");
int number, values[101], solution[101], numberOfComponents, currentNumberOfComponents;
// combinari de number luate cate numberOfComponents
// voi utiliza o functie de afisare a rezultatului
void print()
{
for (int i; i<= numberOfComponents; i++)
outputfile << values[solution[i]] << " ";
outputfile << "\n";
}
// voi avea o functie numita Back, care imi va genera combinarile de n luate cate k folosind metoda backtracking
void back (int currentNumberOfComponents)
{
if ( currentNumberOfComponents > numberOfComponents)
print();
else
for (int i = solution[currentNumberOfComponents - 1] + 1; i <= number; i++)
{
solution[currentNumberOfComponents] = i;
back(currentNumberOfComponents + 1);
}
}
int main() {
inputfile >> number >> numberOfComponents;
for (int i = 1; i <= number; i++)
values[i] = i;
back(1);
return 0;
}