Pagini recente » Cod sursa (job #2177292) | Cod sursa (job #1093003) | Cod sursa (job #234520) | Cod sursa (job #1165008) | Cod sursa (job #3248682)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("combinari.in");
ofstream g("combinari.out");
int x[100], n, m;
bool valid(int k)
{
if(k > 1 && x[k] < x[k - 1])
return false;
for(int i = 1; i <= k - 1; i++)
if(x[i] == x[k])
return false;
return true;
}
void afisare()
{
for(int i = 1; i <= m; i++)
g << x[i] << " ";
g << endl;
}
void backt(int k)
{
for(int i = 1; i <= n - m + k; i++)
{
x[k] = i;
if(valid(k))
{
if(k == m)
afisare();
else
backt(k + 1);
}
}
}
int main()
{
f >> n >> m;
backt(1);
}