Pagini recente » Cod sursa (job #1758650) | Cod sursa (job #789575) | Cod sursa (job #1864502) | Cod sursa (job #1199771) | Cod sursa (job #1414288)
//Program pentru generarea combinarilor(backtracking)
#include <fstream>
using namespace std;
int n, p;
int a[10], sol[10];
ofstream fout("combinari.out");
void Afiseaza()
{
for(int i = 1; i <= p; i++)
{
fout << sol[i];
}
fout << "\n";
}
void backtrack(int k)
{
if(k == p+1)
{
Afiseaza();
}
else
{
if(k>1)
sol[k]=sol[k-1];
else sol[k]=0;
while(sol[k]<n-p+k)
{
sol[k]++;
backtrack(k+1);
}
}
}
int main()
{
ifstream fin("combinari.in");
fout << "n = "; fin >> n;
fout << "p = "; fin >> p;
backtrack(1);
return 0;
}