Pagini recente » Clasament dupa rating | Diferente pentru home intre reviziile 658 si 657 | Rating Adrian Grigoras (adrian.grigoras1009) | Cod sursa (job #823786) | Cod sursa (job #1640694)
#include <fstream>
using namespace std;
ifstream f("combinari.in");
ofstream g("combinari.out");
const int Nmax = 25;
int n, m, v[Nmax];
bool valid(int k)
{
if(k == 1) return 1;
if(v[k-1] < v[k]) return 1;
return 0;
}
void bk(int k)
{
for(int i = 1; i <= n; i++)
{
v[k] = i;
if(valid(k))
{
if(k==m)
{
for(int j = 1; j <= m; j++) g<<v[j]<<' ';
g<<'\n';
}
else bk(k+1);
}
}
}
int main()
{
f>>n>>m;
bk(1);
return 0;
}