Pagini recente » Istoria paginii runda/simoni199/clasament | Autentificare | Cod sursa (job #211312) | Cod sursa (job #1359547) | Cod sursa (job #2002031)
#include <fstream>
using namespace std;
ifstream fin("combinari.in");
ofstream fout("combinari.out");
int n,m,v[19],k;
//bool folosit[9];
void init(int k)
{
v[k]=v[k-1];
}
bool succesor(int k)
{
if (v[k]<n)
{
v[k]++;
return true;
}
return false;
}
bool valid(int k)
{
return 1;
}
bool sol(int k)
{
return k==m;
}
void afisare(int k)
{
for (int i=1;i<=k;i++)
fout << v[i] << " ";
fout << "\n";
}
void backtracking(int k)
{
init(k);
while (succesor(k))
if (valid(k))
if (sol(k)) afisare(k);
else
{
// folosit[v[k]]=1;
backtracking(k+1);
// folosit[v[k]]=0;
}
}
int main()
{
fin >> n >> m;
backtracking(1);
return 0;
}