Cod sursa(job #2462652)
| Utilizator | Data | 27 septembrie 2019 18:20:13 | |
|---|---|---|---|
| Problema | Combinari | Scor | 100 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.71 kb |
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("combinari.in");
ofstream fout("combinari.out");
int N , K , A[21];
bool OK(int K)
{
for(int i = 1 ; i < K ; ++i)
{
if(A[i] >= A[K]) return false;
}
return true;
}
void Afisare()
{
for(int i = 1 ; i <= K ; ++i)
{
fout << A[i] << " ";
}
fout << "\n";
}
void Back(int P)
{
for(int i = 1 ; i <= N ; ++i)
{
A[P] = i;
if(OK(P))
{
if(P == K)
{
Afisare();
}
else Back(P + 1);
}
}
}
int main()
{
fin >> N >> K;
Back(1);
return 0;
}
